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

Python读取Telegram群组消息失败:实体查找错误求助

问题:Telethon无法识别"Into the Cryptoverse"群组

尝试使用Telethon监听名为"Into the Cryptoverse"的Telegram群组新消息,代码如下:

from telethon import TelegramClient, events, sync

# Remember to use your own values from my.telegram.org!
api_id = "MY_API_ID"
api_hash = "MY_API_HASH"
client = TelegramClient('anon', api_id, api_hash)

@client.on(events.NewMessage(chats='Into The Cryptoverse'))
async def my_event_handler(event):
    print(event.raw_text)

client.start()
client.run_until_disconnected()

错误1:无法找到对应实体

运行程序后收到错误:

> Task exception was never retrieved
future: <Task finished name='Task-57' coro=<UpdateMethods._dispatch_update() done, defined at C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\updates.py:471> exception=ValueError('Cannot find any entity corresponding to "Into The Cryptoverse"')>
Traceback (most recent call last):
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\updates.py", line 511, in _dispatch_update
    await builder.resolve(self)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\events\common.py", line 99, in resolve
    await self._resolve(client)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\events\newmessage.py", line 93, in _resolve
    await super()._resolve(client)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\events\common.py", line 103, in _resolve
    self.chats = await _into_id_set(client, self.chats)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\events\common.py", line 33, in _into_id_set
    chat = await client.get_input_entity(chat)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\users.py", line 437, in get_input_entity
    await self._get_entity_from_string(peer))
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\users.py", line 574, in _get_entity_from_string
    raise ValueError(
ValueError: Cannot find any entity corresponding to "Into The Cryptoverse"
Process finished with exit code 0

错误2:用户名无效

尝试将群组名改为"Into_The_Cryptoverse"后,收到新错误:

> Task exception was never retrieved
future: <Task finished name='Task-37' coro=<UpdateMethods._dispatch_update() done, defined at C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\updates.py:471> exception=UsernameInvalidError('Nobody is using this username, or the username is unacceptable. If the latter, it must match r"[a-zA-Z][\\w\\d]{3,30}[a-zA-Z\\d]" (caused by ResolveUsernameRequest)')>
Traceback (most recent call last):
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\updates.py", line 511, in _dispatch_update
    await builder.resolve(self)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\events\common.py", line 99, in resolve
    await self._resolve(client)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\events\newmessage.py", line 93, in _resolve
    await super()._resolve(client)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\events\common.py", line 103, in _resolve
    self.chats = await _into_id_set(client, self.chats)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\events\common.py", line 33, in _into_id_set
    chat = await client.get_input_entity(chat)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\users.py", line 437, in get_input_entity
    await self._get_entity_from_string(peer))
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\users.py", line 553, in _get_entity_from_string
    result = await self(
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\users.py", line 30, in __call__
    return await self._call(self._sender, request, ordered=ordered)
  File "C:\Users\balatka.da\PycharmProjects\pythonProject\venv\lib\site-packages\telethon\client\users.py", line 84, in _call
    result = await future
telethon.errors.rpcerrorlist.UsernameInvalidError: Nobody is using this username, or the username is unacceptable. If the latter, it must match r"[a-zA-Z][\w\d]{3,30}[a-zA-Z\d]" (caused by ResolveUsernameRequest)
解决方案
  • 确认账号权限与群组可见性:确保你的Telegram账号已加入目标群组,且群组不是私密/隐藏类型(私密群组无法通过名称直接搜索定位)。
  • 使用群组ID或邀请链接替代名称:通过名称匹配群组容易出现误差,更可靠的方式是使用群组数字ID或邀请链接:
    1. 先运行以下代码获取群组实体信息:
      from telethon import TelegramClient
      
      api_id = "你的API_ID"
      api_hash = "你的API_HASH"
      client = TelegramClient('anon', api_id, api_hash)
      
      async def get_group_info():
          # 可填入群组名称、邀请链接后缀(如t.me/xxxx中的xxxx)或完整邀请链接
          try:
              group = await client.get_entity('Into The Cryptoverse')
              print(f"群组ID: {group.id}")
              print(f"群组Access Hash: {group.access_hash}")
          except ValueError:
              # 若名称获取失败,改用邀请链接后缀
              group = await client.get_entity('这里填邀请链接的后缀')
              print(f"群组ID: {group.id}")
              print(f"群组Access Hash: {group.access_hash}")
      
      with client:
          client.loop.run_until_complete(get_group_info())
      
      提示:若名称获取失败,可在Telegram客户端的群组设置中找到邀请链接,提取链接中的后缀部分(例如https://t.me/IntoTheCryptoverse中的IntoTheCryptoverse)填入代码。
    2. 拿到群组ID后,修改监听代码:
      from telethon import TelegramClient, events, sync
      
      api_id = "你的API_ID"
      api_hash = "你的API_HASH"
      client = TelegramClient('anon', api_id, api_hash)
      
      # 替换成你获取到的群组ID
      TARGET_GROUP_ID = 123456789
      
      @client.on(events.NewMessage(chats=TARGET_GROUP_ID))
      async def my_event_handler(event):
          print(event.raw_text)
      
      client.start()
      client.run_until_disconnected()
      
  • 严格匹配群组名称:如果坚持使用名称,必须确保完全匹配群组的真实名称(大小写、空格都不能修改),不要自行替换空格为下划线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:24:57