Facebook Messenger Bot — отключение бота автоматически, когда владелец начинает отвечать на вопросы

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

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

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

0

Решение

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

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

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

1

Другие решения

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

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

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

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

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

1

По вопросам рекламы [email protected]