1.10 Проверка на выход участника и запись это в файл
This commit is contained in:
@@ -3,10 +3,14 @@
|
||||
|
||||
from aiogram import Router
|
||||
from .new_member_notification import router as member_notification_router
|
||||
from .leave_member import router as leave_member_router
|
||||
|
||||
# Объявление роутера и настройка экспорта модулей
|
||||
__all__ = ("router",)
|
||||
router = Router(name="handlers_head_router")
|
||||
|
||||
# Идет самым последним, если другие роутеры не сработали
|
||||
router.include_router(member_notification_router)
|
||||
router.include_routers(
|
||||
member_notification_router,
|
||||
leave_member_router,
|
||||
)
|
||||
|
||||
28
BotCode/routers/handlers/leave_member.py
Normal file
28
BotCode/routers/handlers/leave_member.py
Normal file
@@ -0,0 +1,28 @@
|
||||
# BotCode/routers/handlers/leave_member_notification.py
|
||||
# Вывод уведомления о покидании участника
|
||||
|
||||
from aiogram import Router, types
|
||||
from aiogram.filters import ChatMemberUpdatedFilter, LEAVE_TRANSITION
|
||||
from BotLibrary import Logs
|
||||
|
||||
# Создание роутера и настройка экспорта в модули
|
||||
__all__ = ("router",)
|
||||
router = Router(name="leave_member_notification_router")
|
||||
|
||||
|
||||
# Роутер по покиданию участников чата
|
||||
@router.chat_member(ChatMemberUpdatedFilter(LEAVE_TRANSITION))
|
||||
async def leave_member_handler(event: types.ChatMemberUpdated):
|
||||
chat_id = event.chat.id
|
||||
leaving_user = event.old_chat_member.user
|
||||
|
||||
# Привязка пользователя по ссылке
|
||||
leaving_user_link = f"<b><a href=\"tg://user?id={leaving_user.id}\">{leaving_user.full_name}</a></b>"
|
||||
|
||||
# Сообщение с упоминанием администраторов
|
||||
farewell_text = (f"Пользователь {leaving_user_link} покинул чат. "
|
||||
f"Мы будем скучать по тебе! 😔\n"
|
||||
f"Надеемся, ты вернёшься, когда захочешь снова пообщаться с нами!")
|
||||
|
||||
Logs.debug(log_type="LEAVE", user=f"@{leaving_user.username or leaving_user.id}", text="Участник покинул чат!")
|
||||
await event.bot.send_message(chat_id, farewell_text, parse_mode="HTML")
|
||||
Reference in New Issue
Block a user