Python开发Telegram Bot问题:每分钟发送Hi无内容输出
Telegram Bot 无法发送消息的排查与修复
1. 验证核心参数正确性
- 替换占位符:确保
bot_token是从@BotFather获取的完整有效令牌(格式如123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11),group_chat_id需为真实群聊ID。 - 获取群聊ID:给Bot发一条消息后,访问
https://api.telegram.org/bot{你的Token}/getUpdates,从返回的JSON数据中提取chat.id(群聊ID通常为负数,如-1001234567890)。
2. 添加错误排查机制
原代码未处理请求响应,无法定位问题,修改函数打印返回信息:
import requests import time bot_token = "你的真实Bot令牌" group_chat_id = "你的真实群聊ID" def send_message(chat_id, text): url = f"https://api.telegram.org/bot{bot_token}/sendMessage" payload = { "chat_id": chat_id, "text": text } response = requests.post(url, data=payload) # 打印响应JSON,快速定位错误原因 print(response.json()) while True: send_message(group_chat_id, "Hi") time.sleep(60)
运行后查看控制台输出,若ok字段为false,description会明确给出错误原因(如令牌无效、权限不足等)。
3. 确认Bot群聊权限
- 将Bot添加到目标群聊,并在群设置中为Bot开启发送消息权限。
- 若为超级群,检查Bot是否处于未被限制的正常状态。
4. 规避API频率限制
虽然每分钟一次请求不会触发限制,但测试阶段避免反复重启脚本,防止短时间内多次请求被Telegram临时限制。
内容的提问来源于stack exchange,提问作者mads klinge
相关产品推荐
相关产品推荐

