Как отследить блокировку бота пользователем? aiogram 3

Возник такой вопрос. Можно ли отследить в aiogram, что человек заблокировал бота и если можно, то как?


Ответы (1 шт):

Автор решения: CausonQ

Можно. Есть специальный апдейт - my_chat_member

Вот хендлер когда пользователь бота заблокировал:

@router.my_chat_member(ChatMemberUpdatedFilter(member_status_changed=KICKED))
async def user_blocked_bot(event: ChatMemberUpdated):
    pass # что-нибудь делаем, когда бота заблокировали

А это, когда бота разбанили:

@router.my_chat_member(ChatMemberUpdatedFilter(member_status_changed=MEMBER))
async def user_unblocked_bot(event: ChatMemberUpdated):
    pass # что-нибудь делаем, когда бота разблокировали
→ Ссылка