Что я сделал в своем чате, так это то, что когда пользователь хочет поговорить с реальным агентом, он нажимает кнопку «Talk to Support». (Я не буду говорить о том, когда эта кнопка будет отправлена, вы можете сделать свои собственные критерии)
Теперь в моей базе данных есть столбец «Общение с поддержкой», он становится «истинным», когда пользователь нажимает на кнопку " Talk to Support ", и до тех пор, пока это правда, скрипт chatbot будет игнорировать каждое сообщение от этого пользователя.
Теперь важная часть: когда пользователь хочет вернуться к чатботу?
Я дал своим агентам строку типа «Отменить сеанс чата». И всякий раз, когда пользователь хочет вернуться к chatbot, мои агенты набирают «Отменить сеанс чата».
Что происходит, так это то, что я подписал свой webhook на событие messaging_echoes, которое просто отправляет каждое сообщение, которое мои агенты отправляют любому пользователю на мой чатбот.
Вы знаете все остальное, я проверю каждый запрос в чате, если это Echo, проверьте текст, если это «Отменить сеанс чата», я поставлю столбец «Чат с поддержкой» на false для пользователь, и он вернулся к чатботу.
Проверьте Facebook документацию для messaging_echoes событий: messaging_echoes
Я надеюсь, что вы могли бы сделать использование этого :)
бота _your_ сценарий, поэтому, конечно, он может «предупредить оператора» ... все вам нужно что-то сделать _implement_. – CBroe