bot_of_pray/python-bot/handlers/parse_handlers.py.bak

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)