Зміна статусу користувача в чаті#
Використання#
Керуйте подіями, які залишають користувачів або приєднуються
from aiogram.filters import IS_MEMBER, IS_NOT_MEMBER
@router.chat_member(ChatMemberUpdatedFilter(IS_MEMBER >> IS_NOT_MEMBER))
async def on_user_leave(event: ChatMemberUpdated): ...
@router.chat_member(ChatMemberUpdatedFilter(IS_NOT_MEMBER >> IS_MEMBER))
async def on_user_join(event: ChatMemberUpdated): ...
Або створіть власні умови, використовуючи попередньо визначений набір статусів і переходів.
Explanation#
- class aiogram.filters.chat_member_updated.ChatMemberUpdatedFilter(member_status_changed: _MemberStatusMarker | _MemberStatusGroupMarker | _MemberStatusTransition)[source]#
- member_status_changed#
Ви можете імпортувати з aiogram.filters
усі доступні варіанти statuses, status group або transitions:
Статуси#
ім’я |
Опис |
---|---|
|
Власник чату |
|
Адміністратор чату |
|
Учасник чату |
|
Обмежений користувач (може бути не учасником) |
|
Не є учасником чату |
|
Вигнанийадміністраторами учасник |
Статуси можна розширити маркером is_member, додавши префікс +
(для is_member == True)
або -
(для is_member == False
) , наприклад +RESTRICTED
або -RESTRICTED
Групи статусів#
Окремі статуси можна комбінувати за допомогою побітового оператора or
, наприклад CREATOR | ADMINISTRATOR
ім’я |
Опис |
---|---|
|
Комбінація статусів |
|
Комбінація статусів |
|
Комбінація статусів |
Переходи#
Переходи можна визначити за допомогою операторів порозрядного зсуву >>
і <<
. Старий статус учасника чату має бути визначений ліворуч для оператора >>
(праворуч для <<
), а новий статус має бути вказаний праворуч для >>
оператор (ліворуч для <<
)
Напрямок переходу можна змінити за допомогою оператора побітової інверсії: ~JOIN_TRANSITION
призведе до обміну старих і нових статусів.
ім’я |
Опис |
---|---|
|
Означає, що статус змінено з |
|
Означає, що статус змінено з |
|
Означає, що статус змінено з |
Примітка
Зауважте, що якщо ви визначаєте об’єднання статусів (через |
), вам потрібно буде додати дужки для оператора перед використанням оператора зсуву через пріоритети оператора.
Дозволені обробники#
Дозволені типи оновлень для цього фільтра:
my_chat_member
chat_member