0

我正在用 php 创建一个电报机器人。我需要让用户在运行命令时逐步插入数据/order。我举个例子:

用户:/订单

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);没有运行代码一样......

我怎样才能达到我的目的?

谢谢

4

2 回答 2

0

收到 Webhook 更新时是否使用 JSON 响应?

如果是,您需要发出请求而不是将其打印到 HTTP 响应正文并将用户输入记录到您自己的数据库中。

于 2017-09-05T11:17:27.333 回答
0

对于您的机器人收到的任何消息,您检查机器人中用户的步骤,您将发送正确的功能(所以正确的问题)。

为此,您必须存储用户的步骤。请阅读我对这个问题的回答

于 2017-09-05T18:42:50.063 回答