-1

나는 wit.ai와 python으로 chatbot을 만들고 Facebook Messenger와 통합하고 있습니다.페이스 북의 메신저 chatbot는 중복 답장을 제공합니다

wit.ai 또는 콘솔에서 테스트 할 때 내 봇이 제대로 작동하지만 실제로 Facebook 메신저에서 테스트 할 때 웹 훅을 설정하고이 함수와 fb_message 함수를 설정해야합니다. 그것은 각 회신을 두 번 준다. 봇 내부의 어떤 함수가 호출되는지는 중요하지 않습니다. 항상 두 개의 응답을 얻습니다.

내 가장 간단한 작업은 이것이다 :

def defaultAnswer(request): 
    context = request['context'] 
    return context 

(이 항상 wit.ai 엔진에 정의 된 동일한 문자열을 반환합니다.)

+0

facebook api의 메시지가 비어 있는지 확인합니까? $ input [ 'entry'] [0] [ 'messaging'] [0] [ 'message'] -> 비어 있는지 확인하십시오. 비어 있으면 요청을 처리하지 마십시오. – ssakash

답변

1

봇이 pages_messaging 이외의 이벤트에 가입되어있는 경우 messaging_deliveries와 마찬가지로이 이벤트도 처리해야합니다.

봇이 메시지 요청을 받고 다른 이벤트로 다른 이벤트를 수신하고 코드가 메시지를 메시지로 처리하고 있습니다.

나는 이것이 문제라고 생각하고, 그렇지 않다면 그것에 대해 더 자세히 설명해주십시오.

0

이전에이 문제가 있었는데 그 결과는 message_echoes입니다. 이 기능을 활성화하면 Bot이 사용자가 입력 한 텍스트를 반향하려고합니다.

내 논리가 에코 잡기를 끝내고 같은 응답으로 응답했습니다. 비슷한 응답을 잡는 핸들러가있어서 무한 루프를 피할 수있었습니다.

0

누군가 내 케이스를 갖고있을 수 있습니다.

내 경우 :

내가 실수로 developer.facebook.com에 하나의 페이스 북 페이지에 내 두 개의 서로 다른 로봇을 가입.

내 실수로 인해 특정 명령 (예 : 재시작)을 내 페이스 북 페이지에 쓸 때 봇은 정확히 두 개의 메시지 (예 : '봇 재시작', '봇 재시작')를 나에게 회신합니다.

그것은 문제를 발견하는 데 나에게 미친 듯이 보였다.

페이스 북 페이지에 하나의 봇을 가입해야합니다.

관련 문제