2016-08-30 3 views
0

완벽하게 작동하는 Facebook 메신저 봇을 만들었습니다. PHP를 사용하여 만들었습니다.페이스 북의 메신저 봇 - 소유자가 질문에 응답 할 때 로봇이 자동으로 작동하지 않음

이제 새로운 기능을 추가하고 싶습니다. 봇 소유자가 Messenger에서 온라인 상태이고 메시지 응답을 시작하면 봇은 사용자에 대한 응답을 중지해야합니다.

소유자가 응답을 시작하면 어떻게 감지 할 수 있습니까?

답변

1

나는 이것을 전에 테스트했다.

"message_echo"webhook을 구독해볼 수 있습니다. 이 webhook은 페이지와 봇이 사용자에게 메시지를 보낼 때 호출됩니다. 따라서 어떤 "message_echo"가 페이지 (사람)와 어떤 것인지, 그리고 어떤 것이 bot에서 왔는지 구분할 필요가 있습니다. webhook이 보낸 json에서 봇의 메시지는 message 객체에 app_id 키를 포함합니다.

서버가이 웹 훅에 가입하면 많은 조회수를 얻게됩니다.

+0

답장을 보내 주셔서 감사합니다. 그것은 많은 도움이된다 : D – Yeezy

1

간단한 생각은 관리자 계정에서 Bot에게 메시지를 보내는 것입니다. 예를 들어, 관리자가 'STOP'을 보내면 관리자가 'START'를 보낼 때까지 Bot가 메시지를 보내지 않습니다.

Bot으로 들어오는 이벤트에는 보낸 사람 ID가 들어 있습니다. 보낸 사람 ID는 특정 관리자 ID와 상관되어야합니다. 특정 사용자에 대한 ID를 얻는 방법을 찾은 유일한 방법은 메시지를 보내 ID를 출력하는 것입니다. id는 Bot 및 사용자 조합에 따라 다릅니다. 당신이 봇 작업을 같이하지만, 당신이 세부 사항을 더 필요로하는 경우

sendTextMessage(1073962542672604,fistName + " " + lastName + " " + messageText); // send a message to Matthew directly 

가 소리 내 Botsource 코드를 살펴있다 : 예를 들어, 내 개인 계정에 메시지를 보내드립니다 내 봇 라인 JS.

그냥 재미있게 봇에이 기능을 추가했습니다. node.js 구현의 세부 정보를 보려면 app.js 스크립트에서 'isStopped'변수를 검색하십시오.

관련 문제