【问题标题】:Why does my Telegram bot send message endlessly为什么我的 Telegram 机器人无休止地发送消息
【发布时间】:2021-03-12 09:26:57
【问题描述】:

我正在使用 Yii2 创建一个电报机器人,我的 WebHook 代码如下所示:

public function actionGetUpdates() {

        $telegram = new Telegram('484152800:A*************************');

        $request = file_get_contents('php://input');
        $request = json_decode( $request, TRUE );
        header("HTTP/1.1 200 OK");

        if( !$request )
        {
            // Some Error output (request is not valid JSON)
        }
        elseif( !isset($request['update_id']) || !isset($request['message']))
        {
            // Some Error output (request has not message)
        }
        else
        {
            $chatId  = $request['message']['chat']['id'];
            $message = $request['message']['text'];

            switch( $message )
            {
                case '/start':
                    $telegram->sendMessage('82166*****','test');
                    break;
            }

        }   
    }

如果您向该机器人发送“/start”文本,它会以“测试”ENDLESSLY 回复!
我假设这是因为 Telegram 服务器无法从我的代码中接收 200 OK 状态。
那么,我该如何响应 Status 200 OK 以阻止 Telegram 服务器无休止地发送消息?

【问题讨论】:

    标签: php yii2 telegram-bot php-telegram-bot


    【解决方案1】:

    我认为是因为处理时间太长。

    您可以在第一行代码中结束 webhook 请求,实现方式因编程语言而异。

    例如,如果您是使用 fastcgi 的 NginX,则为 fastcgi_finish_request()

    【讨论】:

      猜你喜欢
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 2018-10-05
      • 2021-11-30
      • 2021-05-23
      • 2021-12-14
      • 1970-01-01
      相关资源
      最近更新 更多