From b8bb9c437e67d6c51b8e7229dc706fefb8d092b6 Mon Sep 17 00:00:00 2001 From: Verum Date: Thu, 6 Mar 2025 05:11:26 +0700 Subject: [PATCH] =?UTF-8?q?1.10=20=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=B2=D1=8B=D1=85=D0=BE=D0=B4=20?= =?UTF-8?q?=D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=B0=20=D0=B8?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D1=8C=20=D1=8D=D1=82=D0=BE=20?= =?UTF-8?q?=D0=B2=20=D1=84=D0=B0=D0=B9=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BotCode/routers/handlers/__init__.py | 6 ++++- BotCode/routers/handlers/leave_member.py | 28 ++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 BotCode/routers/handlers/leave_member.py diff --git a/BotCode/routers/handlers/__init__.py b/BotCode/routers/handlers/__init__.py index ff3175f..afd60a0 100644 --- a/BotCode/routers/handlers/__init__.py +++ b/BotCode/routers/handlers/__init__.py @@ -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, +) diff --git a/BotCode/routers/handlers/leave_member.py b/BotCode/routers/handlers/leave_member.py new file mode 100644 index 0000000..6456b5d --- /dev/null +++ b/BotCode/routers/handlers/leave_member.py @@ -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"{leaving_user.full_name}" + + # Сообщение с упоминанием администраторов + 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")