需要问:
1)。 如何从Messenger bot消息中获取变量。
例如:用户发送到bot问题"在日本的时间是什么"
如何获取用户要求的城市?如何获取日本?
2)。
我使用发件人收件人等数据将每封邮件保存到我的数据库......
如何逐步提问?
例如:
用户发送:购买2 dvd
机器人答案:请发送您的全名
用户回答: John Doe
机器人答案:请发送您的地址
用户回答: 1,Great Street,Tokio
机器人回答:谢谢你,每个人都得救了。
我认为这不能只用IF语句来实现,而是用会话,内存或其他东西来完成。机器人必须知道,用户想要买东西,如果是,他必须询问姓名和用户地址。
我用一些字符串创建了简单的BOT,但我不知道,怎么做。关于bot的FB文档对我没有帮助。
感谢您的帮助,祝您度过愉快的一天!
答案 0 :(得分:0)
您需要存储当前的问题编号并将其递增,而是在if语句尝试将switch / case用于当前问题编号时
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;
}
答案 1 :(得分:0)
您可以使用数据库来存储用户状态,您可以将其存储在变量中,因为变量会在每个帖子中消失。只需在您选择的名为status的表中创建一个数据库列,然后根据当前状态向用户发送消息文本。