仅通过用户名获得实体后,我可以通过ID获得实体.是一个错误吗?来自Shell的视频



我只能通过用户名获得实体后获得ID实体。是一个错误吗?来自Shell

的视频

我正在使用Mac和Python 3

我正在尝试通过ID

获得实体

entity = client.get_entity(1151511560)

但要有例外:

ValueError: Could not find the input entity for <telethon.tl.types.PeerUser object at 0x1172312e8>. Please read https://telethon.readthedocs.io/en/latest/extra/basic/entities.html to find out more details.

那么我成功地获得了用户名" ekat01"

的实体

之后,我成功地获得了ID的实体。

为什么我不能仅通过ID获得实体?我认为这是一个错误,不是吗?

带有链接证明的视频:https://youtu.be/mndnzzir5py

github ------------------------------------------------------------------------------------------------------------------------------------------------------------

来自 Juanvelascogomez

如果我没有错,则在文档"用户,聊天和频道,重要部分"中进行了解释:https://telethon.readthedocs.io/en/stable/stable/extable/extra/basic/entities.html

库"看到"实体后,您可以使用其整数ID。您无法使用图书馆没有看到的ID实体。您必须使库至少看到一次,并正确断开连接。您知道实体在哪里,您必须告诉图书馆。它不会为您猜测。

来自 lonami

在干净的会话中,

with client:
    try:
        client.get_entity(1151511560)
    except ValueError:
        print('Error as expected')
    client.get_entity("ekat01")
    client.get_entity(1151511560)
    print('Works as expected')
prints:

错误如预期按预期工作在第二次运行中,

with client:
    client.get_entity(1151511560)
    print('Works as expected')
prints:

按预期工作

最新更新