First commit

This commit is contained in:
2026-01-23 04:45:55 +07:00
commit 0b251c5967
118 changed files with 9580 additions and 0 deletions

23
bot/utils/usernames.py Normal file
View File

@@ -0,0 +1,23 @@
from aiogram.types import Message, CallbackQuery
# Настройка экспорта в модули
__all__ = ('username',)
# Функция получения юзера или ID пользователя
def username(message: Message | CallbackQuery) -> str:
"""
Возвращает юзернейм пользователя из сообщения, или ID, если юзернейм не указан.
:param message: Объект сообщения из aiogram.
:return: Строка с юзернеймом пользователя или его ID.
:raises ValueError: Если в сообщении отсутствует информация о пользователе.
"""
try:
if message.from_user:
return f"@{message.from_user.username}" if message.from_user.username else f"@{message.from_user.id}"
raise ValueError("Информация о пользователе отсутствует в сообщении.")
except ValueError as e:
# Перебрасываем ошибку выше для дальнейшей обработки
raise e