50 lines
1.8 KiB
Python
50 lines
1.8 KiB
Python
from telegram import Update
|
|
from telegram.ext import CommandHandler, MessageHandler, filters, CallbackContext
|
|
from utils.logger import logger
|
|
from handlers.user_handlers import user_keyboard
|
|
from utils.message_sender import send_message
|
|
from utils.prefixes import PREFIXES
|
|
|
|
async def parse_names(update: Update, context: CallbackContext) -> None:
|
|
global USER_DATA
|
|
|
|
try:
|
|
typen = context.user_data['type']
|
|
user_info = await get_user_info(update)
|
|
user_id = user_info["id"]
|
|
|
|
# Для комментария сохраняем весь текст
|
|
if typen == "Комментарий":
|
|
names = update.message.text.strip()
|
|
else:
|
|
# Парсим имена для других типов
|
|
|
|
names = parse_names_helper(update.message.text)
|
|
|
|
# Сохраняем данные
|
|
if user_id not in USER_DATA:
|
|
USER_DATA[user_id] = {}
|
|
|
|
if typen not in USER_DATA[user_id]:
|
|
USER_DATA[user_id][typen] = []
|
|
|
|
# Для комментария сохраняем строку, для остальных - список
|
|
if typen == "Комментарий":
|
|
USER_DATA[user_id][typen] = names
|
|
else:
|
|
USER_DATA[user_id][typen].extend(names)
|
|
|
|
# Форматируем вывод
|
|
if typen == "Комментарий":
|
|
await send_message(update, context, f"Сохранен комментарий: {names}")
|
|
else:
|
|
saved_names = ', '.join(USER_DATA[user_id][typen])
|
|
await send_message(update, context, f"{typen}: {saved_names}")
|
|
logger.info(f"{USER_DATA}")
|
|
|
|
except Exception as e:
|
|
logger.error(f"Ошибка при обработке: {e}")
|
|
await send_message(update, context, "Произошла ошибка при обработке данных")
|
|
del context.user_data['type']
|
|
await send_message (update,context,"Выберите действие:", reply_markup=user_keyboard)
|