VS Code中Python开发的Telegram Bot无法运行,求排查方案
Python Telegram Bot 运行无响应的排查与解决
1. 最致命的代码逻辑错误
你把bot.infinity_polling()写在了echo_all函数内部——这个函数只有收到用户消息时才会触发,程序启动后根本没开始监听Telegram服务器,自然一直处于无响应状态。
解决:
把bot.infinity_polling()移到函数外面,作为程序最后一行,确保启动后立刻开始轮询消息:
@bot.message_handler(func=lambda m: True) def echo_all(message): convo.send_message(message.text) response = convo.last.text bot.reply_to(message, response) # 移到函数外部,放在代码末尾 bot.infinity_polling()
2. API密钥未正确替换
代码里的"API KEY"是占位符,必须替换成:
- 从BotFather获取的Telegram Bot Token
- 从Google AI Studio获取的Gemini API密钥
如果密钥错误、为空或格式不对,程序会静默失败,无法连接服务。
3. 依赖库未完全安装
你只装了pyTelegramBotAPI,但代码里用到了Google的生成式AI库,必须补充安装:
pip install google-generativeai
4. 网络连接问题
Telegram和Gemini服务都需要稳定的网络访问,如果你的网络无法连接这两个服务,程序会卡住无响应。检查网络是否能正常访问相关服务,必要时调整网络设置。
5. 关于安装时的PATH警告
这个警告只是提示normalizer.exe所在目录不在系统PATH里,不会直接导致Bot无响应。如果要消除警告,把C:\Users\Admin\AppData\Roaming\Python\Python312\Scripts添加到系统环境变量PATH即可,不处理也不影响当前Bot运行。
6. 可选:简化对话历史测试
代码里初始化对话历史用了乌克兰语,虽然不影响功能,但可以先简化为空历史,排除潜在编码问题:
convo = model.start_chat(history=[])
内容的提问来源于stack exchange,提问作者Vasyl Mazepa
相关产品推荐
相关产品推荐

