Telegram 机器人在 months/weeks 之后停止工作
Telegram bot stops working after couple of months/weeks
我的 Telegram 机器人有 php 后端。我已经根据官方指南设置了钩子。很多时候机器人停止响应,我意识到电报服务器不会触发分配的网络挂钩。
当我删除那个机器人并创建一个具有相同 ID 的新机器人时,问题仍然存在,除非我创建一个具有不同 ID 的机器人。
有没有人遇到过这样的问题?
所以我现在明白了。首先,它不是自定义证书。这是因为您的服务器回复 Telegram 服务器的时间超过 60 秒。
您之前的消息堆积在 Telegram 服务器上。所以你必须通过 deleteWebHook 让他们走,然后再 setWebbook 。
之后,将此代码复制到您的代码顶部:
<?php
set_time_limit(0);
ignore_user_abort(true);
$out = json_encode([
'method'=>'sendMessage',
'chat_id'=>$my_chat_id,
'text'=> "Starting process..."
]);
echo $out;
header('Connection: close');
header('Content-Length: '.strlen($out));
header("Content-type:application/json");
flush();
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
}
它回复 Telegram 服务器,让他们停止等待。摘自 .
我的 Telegram 机器人有 php 后端。我已经根据官方指南设置了钩子。很多时候机器人停止响应,我意识到电报服务器不会触发分配的网络挂钩。 当我删除那个机器人并创建一个具有相同 ID 的新机器人时,问题仍然存在,除非我创建一个具有不同 ID 的机器人。 有没有人遇到过这样的问题?
所以我现在明白了。首先,它不是自定义证书。这是因为您的服务器回复 Telegram 服务器的时间超过 60 秒。 您之前的消息堆积在 Telegram 服务器上。所以你必须通过 deleteWebHook 让他们走,然后再 setWebbook 。 之后,将此代码复制到您的代码顶部:
<?php
set_time_limit(0);
ignore_user_abort(true);
$out = json_encode([
'method'=>'sendMessage',
'chat_id'=>$my_chat_id,
'text'=> "Starting process..."
]);
echo $out;
header('Connection: close');
header('Content-Length: '.strlen($out));
header("Content-type:application/json");
flush();
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
}
它回复 Telegram 服务器,让他们停止等待。摘自