转换为超级组时,电报聊天 ID 是否保持不变?

Do telegram chat IDs stay the same when converting to a supergroup?

在 Telegram 上,每个群组都有一个 chat-id,我的机器人在添加到群组时会保存它。

如果一个群的所有者将其转换为一个超级群,这个群的ID会改变吗?如果是这样,我们如何为该组获取新的 chat-id


我在整个互联网上都找过这个但没有成功,所以我在这里要求自我回答以帮助将来寻找这个的人,从而节省他们反复试验的时间。

在我自己测试之后,chat-id 确实在迁移到超级组时发生变化

不过我发现了以下方法,使用 python-telegram-bot 来更新您的聊天 ID:

def migchat(bot, update):
  oldchatid = update.message.migrate_from_chat_id
  newchatid = update.message.chat.id
  # process those values as needed (e.g. update a database)

dispatcher.add_handler(MessageHandler(Filters.status_update.migrate, migchat))

这会在聊天迁移时使用 Filters submodule 调用 migchat

来自 /getUpdates 调用的消息的 JSON 响应如下所示: