Messenger bot PHP变量

时间:2017-02-24 01:57:13

标签: php mysql curl session-variables facebook-messenger

需要问:

1)。 如何从Messenger bot消息中获取变量。

例如:用户发送到bot问题"在日本的时间是什么"

如何获取用户要求的城市?如何获取日本

2)。

我使用发件人收件人等数据将每封邮件保存到我的数据库......

如何逐步提问?

例如:

用户发送:购买2 dvd

机器人答案:请发送您的全名

用户回答: John Doe

机器人答案:请发送您的地址

用户回答: 1,Great Street,Tokio

机器人回答:谢谢你,每个人都得救了。

我认为这不能只用IF语句来实现,而是用会话,内存或其他东西来完成。机器人必须知道,用户想要买东西,如果是,他必须询问姓名和用户地址。

我用一些字符串创建了简单的BOT,但我不知道,怎么做。关于bot的FB文档对我没有帮助。

感谢您的帮助,祝您度过愉快的一天!

2 个答案:

答案 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的表中创建一个数据库列,然后根据当前状态向用户发送消息文本。