转换为超级组时,电报聊天 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 响应如下所示:
在 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 响应如下所示: