在 Telethon 中 ID 和 Peer ID
参考 Telethon 官方文档 https://docs.telethon.dev/en/stable/concepts/chats-vs-channels.html ID是像这样的 4011678806 2079829990 6702958858 你如果在桌面端 使用 Forkgram, 那么你可以直接在界面上看到这些ID 而 Peer ID 是像这样的: 460693903 -4016131921 -1002079829990 只有数字的意思是, 这是一个用户user, 机器人bot是用户的一种. 如果数字前面有一个减号, 这是一个私有群组private group 如果数字前面有一个减100, 这是一个频道channel, 或者是一个公开群组public group. 在你使用网页web版的telegram时, 你可以在浏览器的地址栏发现这样的ID 在使用 Telethon 框架中, chat_id 是 Peer ID. 如, @client.on(events.MessageEdited) @client.on(events.NewMessage()) async def on_greeting(event): real_id, peer_type = resolve_id(event.chat_id) # 转换为官方真实id print(f"event.chat_id {event.chat_id}") print(f"real_id {real_id}") 命令行打印的是类似这样: event.chat_id -1001730207212 real_id 1730207212 event.chat_id -4016131921 real_id 4016131921 注意, resolve_id 是 telethon 官方函数. 对应的反向转换函数是 get_peer_id 要这样引入一下 from telethon.utils import resolve_id, get_peer_id peer_type 可能为 PeerUser, PeerChat, PeerChannel 需要这样引入一下 f...