Facebook Messenger Bot: как запомнить разговор (сохранить контекст)?

Я новичок в этой теме, поэтому я просто попробовал этот скрипт. И тогда он отлично работает.

Но проблема с Разговором/Контекстом.

Теперь бот отлично работает только до самого последнего сообщения от пользователя. Но он не может знать, что было раньше, и поэтому не может поддерживать разговор, так как я не знаю, как правильно извлекать предыдущие/последние сообщения.

Поведение моего бота прямо сейчас (пример)

User: Hi, nice to meet you. Blah blah...
Bot: Sorry i don't understand you. Please key-in the Item Code to see details:
User: A1234
Bot: Item Details: xxx xxxx xxxxx xxxxx
Bot: Which "color" you want to order?
User: Blue
Bot: Sorry i don't understand you, Please key-in the Item Code to see details:

Как видите (в последней части сообщений), Бот теряет Контекст (Беседа) после последующего ответа Пользователя. Не удается создать ссылку на предыдущее сообщение (сообщения).

Пожалуйста, как решить эту проблему?


person 夏期劇場    schedule 07.03.2017    source источник


Ответы (1)


Вы можете сохранить стек контекста для каждого пользователя, помещая элемент в верхнюю часть стека для каждого сообщения, отправленного ботом, и сопоставляя контекст в порядке FIFO для каждого полученного сообщения.

Bot-context – это классная библиотека, предоставляющая простой способ сохранения контекста. Соответствующая запись в блоге.

person ashish    schedule 20.03.2017