You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Telethon的监听程序在AWS实例上无法响应Telegram新消息

问题原因

你遇到的问题主要有以下几个可能性,按优先级从高到低排序:

  • 代码逻辑错误:首先你代码里有两处严重的语法/逻辑问题,本地能运行大概率是你本地测试版本和部署版本不一致:
    1. 变量名不匹配:你初始化的Telegram客户端实例名为bot,但后续注册事件监听、启动客户端用的是未定义的client变量
    2. 错误使用上下文管理器:with bot:块执行结束后会自动断开Telegram客户端连接,你打印完bot-start后客户端已经下线,自然收不到任何消息
  • 网络连通性问题:Telegram服务在很多AWS机房的默认IP段被封禁,你本地能正常访问不代表AWS Ubuntu实例可以和Telegram服务器建立稳定的长连接,即使启动阶段能打印日志,后续的事件推送长连接也可能被拦截
  • 权限/参数解析问题:
    1. 你的Telegram Bot没有被加入目标频道,或没有被授予读取频道消息的管理员权限
    2. 你用的ChannelURL参数无法被部署环境的客户端正常解析为频道ID,导致监听逻辑没有绑定到正确的目标
  • 会话文件问题:Telethon生成的bot.session会话文件和运行环境绑定,你直接复制本地的会话文件到AWS实例会失效,导致客户端看起来启动成功但实际未完成登录认证
排查解决步骤
  1. 先修正代码错误,调整后的可用代码参考:
import tweepy
from telethon import TelegramClient, events

# 请补全所有参数的实际值
api_id = 替换为你的API_ID
api_hash = "替换为你的API_HASH"
bot_token = "替换为你的BOT_TOKEN"
ChannelID = 替换为目标频道的数字ID(推荐用ID而非链接,避免解析失败)
twitter_api_key = "替换为你的Twitter API Key"
twitter_api_secret = "替换为你的Twitter API Secret"
twitter_access_token = "替换为你的Twitter Access Token"
twitter_access_secret = "替换为你的Twitter Access Secret"

# 初始化Twitter客户端
auth = tweepy.OAuthHandler(twitter_api_key, twitter_api_secret)
auth.set_access_token(twitter_access_token, twitter_access_secret)
twitter_api = tweepy.API(auth)

print("start")
# 初始化Telegram客户端,统一变量名
client = TelegramClient("bot", api_id, api_hash)

# 注册消息监听事件
@client.on(events.NewMessage(chats=ChannelID))
async def newmessagelistener(event): 
    print("action detected")
    # 此处补充你生成推文、发布的逻辑

# 启动客户端并保持运行
client.start(bot_token=bot_token)
print("bot-start")
client.run_until_disconnected()
  1. 测试AWS实例网络连通性,在实例命令行执行curl -v https://api.telegram.org,如果返回连接超时/被拒,说明IP被封禁,需要给实例配置出口代理,或更换AWS其他区域的实例
  2. 确认Telegram Bot权限:将Bot添加为目标频道的管理员,开启「读取消息历史」权限,同时用数字ID替代链接格式的频道参数,频道数字ID可通过Telegram公开的ID查询Bot获取
  3. 删除部署目录下的bot.session文件,重新运行代码,确认是否有认证相关的报错,按提示完成Bot的登录认证
  4. 如仍未解决,在代码开头添加debug日志输出,查看具体的错误信息:
import logging
logging.basicConfig(level=logging.DEBUG)

内容的提问来源于stack exchange,提问作者CincoMariposas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:24:04