2

我在我的 .php 文件中编写了这段代码,我在其中设置了运行良好的 webHook。

$token = "my token";
$website = "https://api.telegram.org/bot" . $token . "/";
$updates = file_get_contents("php://input");
$updates = json_decode($updates, true);
$text = $updates["message"]["text"];
$chatID = $updates["message"]["chat"]["id"];

switch($text){
  case "/prova_gratuita":
        if(check($chatID)){
          sendMessage($chatID, "Are you sure? Demo is available only one time. Write confirm to continue");
          switch($text){
            case "confirm":
                 ...
                 break;
          } 
        }

switch()是不行。为什么?我能做些什么?我知道我应该更新 的值$text,但我不知道该怎么做

4

1 回答 1

0

我认为错误是您设置问题的方式。每个机器人输入都是对该 WebHook 的调用。那么 $ text 就不能这样 aggornato 了。

您还应该包括在第二个“案例”的第一个开关中。

$token = "my token";
$website = "https://api.telegram.org/bot" . $token . "/";
$updates = file_get_contents("php://input");
$updates = json_decode($updates, true);
$text = $updates["message"]["text"];
$chatID = $updates["message"]["chat"]["id"];

switch($text){
    case "/prova_gratuita":
        if(check($chatID))    sendMessage($chatID, "Are you sure? Demo is available only one time. Write confirm to continue");
    case "confirm":
    ...

 }

每次您向机器人发送消息时,他都会调用 WebHook。所以要改变 $updates 的状态,所以即使是 $text 脚本也应该重新启动

于 2017-01-24T21:27:06.970 回答