如何使用 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_memberchat_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)