src.handlers.ban
Блокировка пользователя
1"""Блокировка пользователя""" 2 3from aiogram import F, Router 4from aiogram.filters.chat_member_updated import (KICKED, MEMBER, 5 ChatMemberUpdatedFilter) 6from aiogram.types import ChatMemberUpdated 7 8import text 9from core import exceptions as exc 10from core.err import bot_except 11from db import utils 12 13router = Router() 14router.my_chat_member.filter(F.chat.type == "private") 15 16 17@router.my_chat_member(ChatMemberUpdatedFilter(member_status_changed=KICKED)) 18@bot_except 19async def user_blocked_bot(event: ChatMemberUpdated): 20 """Обрабатывает событие, когда пользователь заблокировал бота. 21 22 Args: 23 event (ChatMemberUpdated): Событие обновления статуса участника чата. 24 """ 25 await utils.ban_user(event.from_user.id) 26 27 28@router.my_chat_member(ChatMemberUpdatedFilter(member_status_changed=MEMBER)) 29@bot_except 30async def user_unblocked_bot(event: ChatMemberUpdated): 31 """Обрабатывает событие, когда пользователь разблокировал бота. 32 33 Args: 34 event (ChatMemberUpdated): Событие обновления статуса участника чата. 35 """ 36 try: 37 await utils.recover_user(event.from_user.id) 38 except exc.DatabaseError: 39 await event.answer(text=text.DB_ERROR, show_alert=True) 40 else: 41 await event.answer(text="Посылаю запрос на восстановление учетной записи...")
router =
<Router '0x7f23dac366f0'>
@router.my_chat_member(ChatMemberUpdatedFilter(member_status_changed=KICKED))
@bot_except
async def
user_blocked_bot(event: aiogram.types.chat_member_updated.ChatMemberUpdated):
18@router.my_chat_member(ChatMemberUpdatedFilter(member_status_changed=KICKED)) 19@bot_except 20async def user_blocked_bot(event: ChatMemberUpdated): 21 """Обрабатывает событие, когда пользователь заблокировал бота. 22 23 Args: 24 event (ChatMemberUpdated): Событие обновления статуса участника чата. 25 """ 26 await utils.ban_user(event.from_user.id)
Обрабатывает событие, когда пользователь заблокировал бота.
Arguments:
- event (ChatMemberUpdated): Событие обновления статуса участника чата.
@router.my_chat_member(ChatMemberUpdatedFilter(member_status_changed=MEMBER))
@bot_except
async def
user_unblocked_bot(event: aiogram.types.chat_member_updated.ChatMemberUpdated):
29@router.my_chat_member(ChatMemberUpdatedFilter(member_status_changed=MEMBER)) 30@bot_except 31async def user_unblocked_bot(event: ChatMemberUpdated): 32 """Обрабатывает событие, когда пользователь разблокировал бота. 33 34 Args: 35 event (ChatMemberUpdated): Событие обновления статуса участника чата. 36 """ 37 try: 38 await utils.recover_user(event.from_user.id) 39 except exc.DatabaseError: 40 await event.answer(text=text.DB_ERROR, show_alert=True) 41 else: 42 await event.answer(text="Посылаю запрос на восстановление учетной записи...")
Обрабатывает событие, когда пользователь разблокировал бота.
Arguments:
- event (ChatMemberUpdated): Событие обновления статуса участника чата.