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)