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

Telethon监听Telegram大频道消息编辑事件延迟问题求助

问题定位

大型公开频道消息量远超本地测试频道,Telethon默认机制会因历史消息同步、事件队列积压、会话缓存冗余等导致事件响应延迟;另外你的账号会话状态、API配置可能和朋友存在差异,这是核心诱因。

解决方案
  • 禁用历史消息同步:启动客户端时跳过历史消息加载,只处理启动后的新事件,彻底避免大频道历史数据阻塞初始化
    client = TelegramClient('session_name', api_id, api_hash, skip_updates=True)
    
  • 精准过滤事件范围:只监听目标频道的编辑事件,减少无效事件处理开销
    @client.on(events.MessageEdited(chats='目标频道的ID或用户名'))
    async def edit_handler(event):
        # 你的业务逻辑
    
  • 清理本地会话缓存:删除本地的session_name.session文件,重新登录生成新会话,清除旧缓存中的冗余历史数据
  • 异步隔离非核心逻辑:把g4f的GPT查询放到独立异步任务中,避免阻塞事件循环,保证事件响应即时性
    import asyncio
    
    @client.on(events.MessageEdited(chats='目标频道'))
    async def edit_handler(event):
        edited_content = event.raw_text
        print(f"收到编辑消息:{edited_content}")
        # 异步执行GPT查询,不阻塞事件处理
        asyncio.create_task(get_gpt_response(edited_content))
    
    async def get_gpt_response(content):
        # g4f调用逻辑
        result = await g4f.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=[{"role": "user", "content": content}]
        )
        print(f"GPT生成答案:{result}")
    
  • 升级Telethon到最新版:旧版本可能存在事件处理性能bug,执行命令更新
    pip install --upgrade telethon
    
  • 检查API账号状态:登录my.telegram.org确认你的API ID/Hash对应的账号无请求限制,必要时更换API账号测试(朋友账号正常,大概率你的账号存在隐性限制)
  • 优化连接配置:调整Telethon的连接参数,提升网络稳定性
    from telethon.network.connection.tcpfull import ConnectionTcpFull
    
    client = TelegramClient('session_name', api_id, api_hash,
                            connection=ConnectionTcpFull,
                            timeout=15,
                            skip_updates=True)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 08:55:05