2016-08-30 2 views
0

Я создал ботсов-мессенджеров Facebook, который отлично работает. Я использовал php для его создания.Facebook Messenger Bot - отключить бот автоматически, когда владелец начнет отвечать на вопросы

Теперь я хочу добавить новую функциональность. Когда владелец бота находится в сети в Messenger и начинает отвечать на сообщения, бот должен перестать отвечать на запросы пользователей.

Как я могу определить, когда владелец начал отвечать?

ответ

1

Я сделал тест на это раньше.

Вы можете попробовать подписаться на «message_echo» webhook. Этот веб-код вызывается, когда страница И бот отправляет сообщение пользователю. Таким образом, вам нужно будет отличить, какое сообщение «message_echo» происходит со страницы (человека) и от бота. В json, отправленном webhook, сообщения от бота будут содержать ключ app_id в объекте message.

Ваш сервер получит много хитов, подписавшись на этот веб-сайт.

+0

Большое спасибо за ваш ответ. это очень помогает: D – Yeezy

1

Простая идея - отправить сообщение Bot из учетной записи администратора. Например, если администратор отправляет «STOP», тогда Bot перестает отправлять сообщения, пока администратор не отправит «START».

Входящие события в Бот содержат идентификатор отправителя. Идентификатор отправителя должен быть сопоставлен с определенным идентификатором администратора. Единственный способ, с помощью которого я нашел этот идентификатор для конкретного пользователя, - отправить сообщение и распечатать идентификатор. Идентификатор определен для комбинации Бот и пользователя. Например, мой бот будет отправить сообщение на мой личный счет с этим JS линия:

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

Похоже, у вас есть бот работает, но если вам нужно больше информации, посмотрите на мою Bot и source кода.

Просто для удовольствия, я добавил эту функцию в свой бот. Чтобы увидеть подробности в реализации node.js, найдите переменную 'isStopped' в скрипте app.js.