如何使用 python-telegram-bot(Bot API 5.1)跟踪用户何时踢 Telegram Bot
How to track when user kicked Telegram Bot using python-telegram-bot (Bot API 5.1)
Telegram introduced Bot API 5.1 with ChatMemberUpdated 以及更新 class.
中的字段 my_chat_member
和 chat_member
但是,如果我使用的是 ConversationHandler,现在如何跟踪用户何时停止了机器人?
以前,我的机器人正在等待 /cancel 或 /stop.
这样的命令
conversation_handler = ConversationHandler(
entry_points=...,
states=...,
fallbacks=[
# ...
MessageHandler(Filters.regex('^/(cancel|stop)$'), flow_stop_chat),
# ...
],
allow_reentry=True,
name=current_bot_label,
persistent=True,
)
现在如何使用 ChatMemberUpdated 正确地做到这一点?
使用 ChatMemberHandler(PTB v13.4 中的新功能)捕获更新并检查 update.my_chat_member.new_chat_member.status
以查看您的机器人是否被阻止。然而,阻止机器人与简单地发送 /cancel
命令并不完全相同,所以我建议保留 MessageHandler
(或者更好的是,将其更改为 CommandHandler(['cancel', 'stop'], flow_stop_chat)
)
Telegram introduced Bot API 5.1 with ChatMemberUpdated 以及更新 class.
中的字段my_chat_member
和 chat_member
但是,如果我使用的是 ConversationHandler,现在如何跟踪用户何时停止了机器人?
以前,我的机器人正在等待 /cancel 或 /stop.
这样的命令conversation_handler = ConversationHandler(
entry_points=...,
states=...,
fallbacks=[
# ...
MessageHandler(Filters.regex('^/(cancel|stop)$'), flow_stop_chat),
# ...
],
allow_reentry=True,
name=current_bot_label,
persistent=True,
)
现在如何使用 ChatMemberUpdated 正确地做到这一点?
使用 ChatMemberHandler(PTB v13.4 中的新功能)捕获更新并检查 update.my_chat_member.new_chat_member.status
以查看您的机器人是否被阻止。然而,阻止机器人与简单地发送 /cancel
命令并不完全相同,所以我建议保留 MessageHandler
(或者更好的是,将其更改为 CommandHandler(['cancel', 'stop'], flow_stop_chat)
)