34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from telegram import Update
|
|
from telegram.ext import CallbackContext
|
|
from utils.logger import logger
|
|
# Объединяем функции get_user_name и get_user_id в одну
|
|
async def get_user_info(update: Update, context: CallbackContext, id = None): #utils/utils.py
|
|
try:
|
|
if id:
|
|
user = context.bot.get_chat(user_id)
|
|
elif update.callback_query:
|
|
user = update.callback_query.from_user
|
|
elif update.message:
|
|
user = update.message.from_user
|
|
else:
|
|
return {"id": "Unknown", "name": "Unknown"}
|
|
|
|
user_id = str(user.id)
|
|
user_name = f"@{user.username}" if user.username else f"{user.first_name} {user.last_name or ''}".strip()
|
|
|
|
return {"id": user_id, "name": user_name}
|
|
except Exception as e:
|
|
logger.info (f"Ошибка получения данных пользователя: {e}")
|
|
return {"id": "Unknown", "name": "Unknown"}
|
|
|
|
|
|
def validate_input(text):
|
|
if len(text) > 6000:
|
|
raise ValueError("Слишком длинный текст")
|
|
if not text:
|
|
raise ValueError("Пустой ввод")
|
|
return text
|
|
|
|
def format_names(names):
|
|
return "\n".join(f"- {name}" for name in names)
|