Telethon有 3 种类型:
- 用户:可以是真实用户还是机器人
- 聊天:电报群
- 频道:电报频道或超群
这三种类型都有一个ID属性。我可以将它们存储在数据库的一列中并使该列唯一吗?或者这三种类型之间可以有重复的id?
是的,你可以这样做。ID 是 Telegram 中的唯一标识符。
一个简单的检查方法是查看 Bot API 中的sendMessage。您可以看到目标聊天仅通过其 ID 识别,并且不需要有关该目标聊天类型的任何额外信息。
用户和普通聊天(普通组不是晚餐组)具有正 ID。并且频道(包括晚餐组和广播频道)具有否定 ID(例如:-1001050484879)。在某些方法中,telethon 将频道 ID 作为正数返回(例如 1050484879,从 id 的第一个中删除 -100),您必须在频道的第一个 id 中添加 -100 然后保存它们。