1.10 Возможность получение списка админов, для скрытого и текстового варианта
This commit is contained in:
22
BotCode/utils/admin_list.py
Normal file
22
BotCode/utils/admin_list.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# BotCode/utils/admin_lists.py
|
||||
# Составления листа администраторов
|
||||
|
||||
from BotLibrary import bot
|
||||
|
||||
# Настройки экспорта в модули
|
||||
__all__ = ("admin_lists",)
|
||||
|
||||
|
||||
# Функция составления словаря администраторов
|
||||
async def admin_lists(chat_id: int):
|
||||
admins = await 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 "Нет администраторов"
|
||||
return admins_text
|
||||
24
BotCode/utils/all_admins_hide.py
Normal file
24
BotCode/utils/all_admins_hide.py
Normal file
@@ -0,0 +1,24 @@
|
||||
# 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):
|
||||
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)
|
||||
Reference in New Issue
Block a user