нужно спросить:
1.)
Как получить переменную из сообщения бота Messenger.
Например: пользователь отправляет боту вопрос «Сколько времени в Японии»
Как выбрать город, который спрашивает пользователь? Как получить Япония?
2.)
Я сохраняю каждое сообщение в своей базе данных с массивом получателя и т. Д. …
Как сделать пошаговые вопросы?
Например:
пользователь отправляет: купить 2 DVD
Ответ бота: пожалуйста, отправьте ваше полное имя
ответ пользователя: Джон Доу
Ответ бота: пожалуйста, отправьте ваш адрес
ответ пользователя: 1-я, Великая улица, Токио
Ответ бота: спасибо, все спасли.
Я думаю, что это невозможно сделать только с помощью оператора IF, но с помощью чего-то вроде сеанса, памяти или чего-то еще. Бот должен знать, что пользователь хочет что-то купить, и если да, он должен спросить об имени, а также об адресе пользователя.
Я создавал простую BOT с некоторыми строками, но я не знаю, как это сделать. И документация FB о боте мне не поможет.
Спасибо за помощь, хорошего дня!
Вам нужно сохранить текущий номер вопроса и увеличить его, а вместо этого сделать, если в статистике попытаться использовать переключатель / регистр для текущего номера вопроса
switch ($c) {
case 4 :
//update the current question number in db and show the next question$bot->send(new StructuredMessage($message['sender']['id'],
StructuredMessage::TYPE_BUTTON,
[
'text' => 'Enter your Facebook profile link',
'buttons' => [
new MessageButton(MessageButton::TYPE_POSTBACK, 'Skip')
]
]
));
break;
}
Вы можете использовать базу данных для хранения пользовательских состояний, вы не можете хранить ее в переменных, так как переменные умирают за пост назад. Просто создайте столбец базы данных в выбранной вами таблице, называемой статусом, а затем отправьте пользователю текст сообщения на основе текущего статуса.