Files
PrimoWorldsBot/BotCode/utils/all_admins_hide.py
2025-04-13 06:50:23 +07:00

38 lines
2.0 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BotCode/utils/all_admins_hide.py
# Составления листа администраторов (для скрытого отправления)
from aiogram import types
from aiogram.utils import markdown
from BotLibrary import bot
# Настройки экспорта в модули
__all__ = ("hidden_admins_message",)
async def hidden_admins_message(message: types.Message = None,
chat_id: int = None,
text: str = "",
msg: bool = True, *args) -> str | None:
"""
Формирует скрытые ссылки на администраторов чата в Markdown-разметке.
:param message: Объект сообщения от пользователя (если chat_id не указан, ID чата берется из него).
:param chat_id: ID чата, в котором нужно получить список администраторов (если не указан, берется из message).
:param text: Дополнительный текст, который будет добавлен к результату.
:param msg: Определяет, возвращать ли результат (True) или отправлять его в чат (False).
:param args: Дополнительные аргументы (не используются, оставлены для совместимости с шаблоном).
:return: Строка со скрытыми ссылками на администраторов и добавленным текстом (если msg=True), иначе None.
"""
chat_id = chat_id if isinstance(chat_id, int) else message.chat.id
admins = await bot.get_chat_administrators(chat_id)
hidden_links = "".join(
markdown.hide_link(f"tg://user?id={admin.user.id}")
for admin in admins if not admin.user.is_bot
)
result = f"{hidden_links}{text}"
if msg:
return result
else:
await message.answer(result)