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

Telethon中event.reply()无消息返回,Telegram Bot未响应求助

Telegram Bot无回复的可能原因

结合你提供的代码,以下是几种常见的问题原因:

  • 客户端类型错误
    你当前使用的TelegramClient是用于登录普通Telegram用户账号的客户端,而非Bot专用客户端。如果要开发Bot,应该使用BotClient并传入Bot Token(从@BotFather处获取),而非使用个人账号的api_id和api_hash。

  • 客户端未保持运行状态
    代码中仅定义了事件处理函数,但没有启动客户端的消息监听循环。在async with TelegramClient(...) as client:代码块内,需要添加await client.run_until_disconnected()来让客户端持续运行并监听消息,否则客户端初始化后会立即退出,无法捕获任何消息。

    修正后的代码片段:

    async def main(): 
        async with TelegramClient('new_session', api_id, api_hash) as client:
            @client.on(events.NewMessage)
            async def my_event_handler(event):
                await event.reply('Message is received')
            await client.run_until_disconnected()  # 新增此行
    nest_asyncio.apply()
    asyncio.run(main())
    
  • 事件监听范围未明确
    默认的events.NewMessage会监听所有可接收的消息,但如果你的账号在大量聊天中,可能无法及时捕获目标消息,或者需要指定特定聊天范围。比如添加chats参数监听特定聊天:

    @client.on(events.NewMessage(chats=['你的测试聊天ID或用户名']))
    
  • 会话未完成登录
    首次运行代码时,new_session会话文件尚未创建,需要完成手机号验证、验证码输入(若开启两步验证还需密码)才能成功登录。如果登录流程未完成,客户端处于未连接状态,自然无法处理消息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:19:57