1.10 Обновление события о новом пользователи
This commit is contained in:
@@ -1,6 +1,10 @@
|
|||||||
|
# BotCode/routers/handlers/new_member_notification.py
|
||||||
|
# Вывод уведомления о новом участнике
|
||||||
|
|
||||||
from aiogram import Router, types
|
from aiogram import Router, types
|
||||||
from aiogram.filters import ChatMemberUpdatedFilter, JOIN_TRANSITION
|
from aiogram.filters import ChatMemberUpdatedFilter, JOIN_TRANSITION
|
||||||
|
|
||||||
|
from BotCode.utils import hidden_admins_message
|
||||||
from BotLibrary import Logs
|
from BotLibrary import Logs
|
||||||
from ProjectsFiles import BotEdit
|
from ProjectsFiles import BotEdit
|
||||||
|
|
||||||
@@ -14,26 +18,14 @@ router = Router(name="new_member_notification_router")
|
|||||||
async def new_member_handler(event: types.ChatMemberUpdated):
|
async def new_member_handler(event: types.ChatMemberUpdated):
|
||||||
chat_id = event.chat.id
|
chat_id = event.chat.id
|
||||||
new_user = event.new_chat_member.user
|
new_user = event.new_chat_member.user
|
||||||
admins = await event.bot.get_chat_administrators(chat_id)
|
|
||||||
|
|
||||||
# Формируем список упоминаний администраторов
|
|
||||||
admin_mentions = []
|
|
||||||
for admin in admins:
|
|
||||||
if admin.user.is_bot:
|
|
||||||
continue
|
|
||||||
admin_mentions.append(
|
|
||||||
f"@{admin.user.username}" if admin.user.username else f"<a href=\"tg://user?id={admin.user.id}\">{admin.user.full_name}</a>")
|
|
||||||
|
|
||||||
admins_text = ", ".join(admin_mentions) if admin_mentions else "Нет администраторов для упоминания"
|
|
||||||
|
|
||||||
# Привязка пользователя по ссылке
|
# Привязка пользователя по ссылке
|
||||||
new_user_link = f"<b><a href=\"tg://user?id={new_user.id}\">{new_user.full_name}</a></b>"
|
new_user_link = f"<b><a href=\"tg://user?id={new_user.id}\">{new_user.full_name}</a></b>"
|
||||||
|
|
||||||
# Сообщение с упоминанием администраторов
|
# Сообщение с упоминанием администраторов
|
||||||
welcome_text = (f"Приветствуем тебя, {new_user_link}! 👋\n"
|
welcome_text = (f"{await hidden_admins_message(chat_id=chat_id)}Приветствуем тебя, {new_user_link}! 👋\n"
|
||||||
f"Мы рады тебя приветствовать в проекте <b>{BotEdit.project_name}</b> "
|
f"Мы рады тебя приветствовать в проекте <b>{BotEdit.project_name}</b> "
|
||||||
f"Надеемся, что вы сможете найти здесь друзей и провести весело время с нами!\n"
|
f"Надеемся, что вы сможете найти здесь друзей и провести весело время с нами!\n")
|
||||||
f"А пока уведомлю участников чата: {admins_text}")
|
|
||||||
|
|
||||||
Logs.debug(log_type="NEW", user=f"@{new_user.username or new_user.id}", text="Новый участник чата!")
|
Logs.debug(log_type="NEW", user=f"@{new_user.username or new_user.id}", text="Новый участник чата!")
|
||||||
await event.bot.send_message(chat_id, welcome_text, parse_mode="HTML")
|
await event.bot.send_message(chat_id, welcome_text, parse_mode="HTML")
|
||||||
|
|||||||
Reference in New Issue
Block a user