Задать вопрос
@nemolayn
Создатель бота Nemo

Как получить event на то что пользователь разбанен, то бишь бан закончился?

Хотелось бы получить точное получение разбана.
То, как я сейчас пытаюсь ловить:
@rt.chat_member(
        ChatMemberUpdatedFilter(
            member_status_changed=
            (LEFT)
            >>
            (IS_MEMBER)
        )
)
async def banned_exp(event: ChatMemberUpdated, bot: Bot):
    print(event)

Но тогда у меня блокируется другой event:
@rt.chat_member(
    ChatMemberUpdatedFilter(
        member_status_changed=
        IS_NOT_MEMBER >> IS_MEMBER
    )
)



LEFT- Isn’t member of the chat
IS_MEMBER - Combination of (CREATOR | ADMINISTRATOR | MEMBER | +RESTRICTED) statuses.
IS_NOT_MEMBER - Combination of (LEFT | KICKED | -RESTRICTED) statuses.
CREATOR - Chat owner
ADMINISTRATOR - Chat administrator
MEMBER- Member of the chat
RESTRICTED - Restricted user (can be not member)

Есть ли более удобный способ ловить это все?
Более подробно о chat_member_updated
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
@twistfire92
Python backend developer
Если я правильно понял документацию, то я бы правило в хендлере описал так
ChatMemberUpdatedFilter(member_status_changed=(+RESTRICTED) >> (MEMBER))


Пользователь забанен, но он является еще участником чата. Поэтому поиск по LEFT не подходит. Так что стоит посмотреть в этом направлении.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы