使用Telethon库如何获取Telegram聊天中对方用户的ID?
Telethon 获取私聊用户ID的正确属性
你使用的peerUser_id不是 Telethon 内置的标准属性,你可以通过以下两种官方属性实现需求:
- 方案1:通用
chat.id属性(推荐)
该属性适配所有会话类型,单聊场景下直接返回对方用户ID,无需额外处理也不会抛出属性不存在的错误,示例代码如下:
如果你只需要筛选单聊会话,排除群组、频道,可以增加类型判断:dialogs = client.get_dialogs() for dialog in dialogs: # 输出当前会话对应实体的ID,单聊即用户ID print(dialog.chat.id)from telethon.tl.types import PeerUser dialogs = client.get_dialogs() for dialog in dialogs: if isinstance(dialog.peer, PeerUser): print(dialog.chat.id) - 方案2:
peer.user_id属性
该属性仅对单聊会话的PeerUser类型有效,使用前必须先做类型判断,否则遇到群组/频道会话会直接报错:from telethon.tl.types import PeerUser dialogs = client.get_dialogs() for dialog in dialogs: if isinstance(dialog.peer, PeerUser): print(dialog.peer.user_id)
内容的提问来源于stack exchange,提问作者informatics
相关产品推荐
相关产品推荐

