为什么我的Telegram机器人无休止地发送消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的Telegram机器人无休止地发送消息相关的知识,希望对你有一定的参考价值。
我正在使用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'文本,它会立即回复“test”! 我假设这是因为Telegram服务器无法从我的代码接收200 OK状态。 那么,我如何用Status 200 OK响应以阻止Telegram服务器无休止地发送消息?
答案
我认为这是因为处理时间过长。
您可以在第一行代码中结束webhook请求,并且实现与编程语言不同。
例如,如果你是带有fastcgi的nginx,那就是fastcgi_finish_request()
。
以上是关于为什么我的Telegram机器人无休止地发送消息的主要内容,如果未能解决你的问题,请参考以下文章