在 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) # 转换为官方真实idprint(f"event.chat_id {event.chat_id}")print(f"real_id {real_id}")
命令行打印的是类似这样:
event.chat_id -1001730207212real_id 1730207212event.chat_id -4016131921real_id 4016131921
========
update
在使用 Telethon 框架中, event.chat_id 和 event.message.chat.id 是不同的。用日志打印出来是类似下面这样:
event.chat_id: -1001742766507event.message.chat.id: 1742766507event.chat_id: -4085528054event.message.chat.id: 4085528054
评论
发表评论