我用php创建了一个电报机器人。我需要让用户在运行命令/order
时逐步插入数据。我做了一个例子:
用户:/ order
Bot :我会帮您订购
Bot :插入名称
用户:Ciccio(他输入了名字)
Bot :好的,现在插入你的姓氏
用户:Pasticcio(他已输入姓氏)
依旧......
我以为我是以正确的方式达到我的目的......但不是......某些东西不起作用......这是我的代码:
elseif(strcmp($text, "/order") === 0) <-Here the command
{
$response =
"I will help you.\n"
."\n"
."Insert your name:";
$parameters = ['chat_id' => $chatId, "text" => $response, "parse_mode" => "Markdown"];
$parameters["method"] = "sendMessage";
echo json_encode($parameters);
$action_parameters = ['chat_id' => $chatId, "action" => "typing"];
$action_parameters["method"] = "sendChatAction";
echo json_encode($action_parameters);
$parameters2 = array('chat_id' => $chatId, "text" => "good! Now insert the surname");
$parameters2["method"] = "sendMessage";
echo json_encode($parameters2);
}
在我看到第一条消息之后,代码停止了......就像我第一次执行echo json_encode($parameters);
之后再没有代码运行...
我如何达到目的?
谢谢
答案 0 :(得分:0)
收到Webhook更新后,您是否使用JSON响应?
如果是,您需要发出请求,而不是将其打印到HTTP Response Body并将用户输入记录到您自己的数据库中。
答案 1 :(得分:0)
对于您的机器人收到的任何消息,您检查机器人中的用户步骤,您将发送正确的功能(所以正确的问题)。
要做到这一点,你必须存储用户&#39;脚步。请阅读my answer to this question。