Files
new_lottery_bot/docs/UPDATES_2026_02_15.md
Andrey K. Choi 0fdad07d82
Some checks failed
continuous-integration/drone/pr Build is failing
refactor
2026-02-17 00:22:42 +09:00

8.1 KiB
Raw Permalink Blame History

Обновления от 15.02.2026

📋 Реализованные улучшения

1. 📊 Экспорт/Импорт в формате XLSX

Что изменилось:

  • Экспорт пользователей теперь создает файлы в формате XLSX (Excel) вместо JSON
  • Импорт пользователей принимает XLSX файлы вместо JSON

Формат XLSX файла:

Колонки в экспорте:

  1. Telegram ID - обязательная колонка для импорта
  2. Username - имя пользователя в Telegram
  3. Имя / Фамилия - реальные имя и фамилия
  4. Никнейм - отображаемое имя в боте
  5. Телефон - номер телефона
  6. Клубная карта - номер клубной карты
  7. Зарегистрирован - статус регистрации (Да/Нет)
  8. Админ - является ли админом (Да/Нет)
  9. Код верификации - код для подтверждения
  10. Дата создания - когда пользователь создан
  11. Последняя активность - последнее взаимодействие с ботом
  12. Заблокирован в чате - статус блокировки в чате

Преимущества XLSX:

  • Удобное редактирование в Excel/LibreOffice
  • Визуальный контроль данных
  • Авто-подбор ширины колонок
  • Цветное оформление заголовков
  • Легкая сортировка и фильтрация

Безопасность:

  • 🔒 Статус админа НЕ импортируется из файла (только ручное назначение)
  • 🔒 Все данные валидируются перед импортом

Файлы:

  • requirements.txt - добавлена библиотека openpyxl==3.1.2
  • src/handlers/admin_panel.py - обновлены функции экспорта/импорта

2. 💬 Обработка команд выхода в чате

Что добавлено: Теперь находясь в режиме чата можно быстро вернуться в главное меню, написав одну из команд:

  • /start - выход из чата в главное меню
  • start - выход из чата в главное меню
  • старт - выход из чата в главное меню
  • /exit - выход из чата (как и раньше)

Как работает:

  1. Пользователь в режиме чата (ChatStates.in_chat)
  2. Пишет одну из команд: /start, start или старт
  3. Автоматически выходит из чата
  4. Получает главное меню

Преимущества:

  • Быстрый возврат в меню без кнопок
  • 🎯 Интуитивные команды (start/старт)
  • 🔄 Совместимость с привычным поведением ботов

Файлы:

  • src/handlers/chat_handlers.py - добавлена функция check_exit_keywords

3. Система справки

Что добавлено: Новая полноценная система помощи пользователям с интерактивной навигацией.

Разделы справки:

📝 Регистрация

  • Пошаговая инструкция по регистрации
  • Какие данные нужны
  • Процесс одобрения администратором
  • Что дает регистрация

🎰 Участие в розыгрышах

  • Как принять участие в розыгрыше
  • Что указано в описании розыгрыша
  • Как узнать о результатах
  • Что делать при выигрыше

💬 Чат

  • Вход и выход из чата
  • Какие сообщения можно отправлять (текст, фото, видео, документы, стикеры)
  • Правила чата
  • Управление чатом для админов

⚙️ Команды

  • Список всех доступных команд бота
  • Описание каждой команды
  • Для админов - дополнительные админские команды
  • Полезные советы по использованию

Доступ к справке:

  • Кнопка ❓ Справка в главном меню
  • Команда /help в любой момент
  • Интерактивная навигация между разделами

Особенности:

  • 📱 Адаптивный контент (админы видят дополнительные команды)
  • 🔄 Удобная навигация между разделами
  • 🏠 Быстрый возврат в главное меню
  • 📖 Подробные инструкции с примерами

Файлы:

  • src/handlers/help_handlers.py - новый модуль справки (265 строк)
  • src/components/ui.py - добавлена кнопка " Справка" в главное меню
  • main.py - зарегистрирован роутер справки

🔧 Технические детали

Зависимости

openpyxl==3.1.2  # Работа с Excel файлами

Новые файлы

  • src/handlers/help_handlers.py - система справки

Обновленные файлы

  • requirements.txt - добавлена openpyxl
  • main.py - регистрация help_router
  • src/handlers/admin_panel.py - XLSX экспорт/импорт
  • src/handlers/chat_handlers.py - обработка ключевых слов
  • src/components/ui.py - кнопка справки в меню

Роутеры

# Порядок регистрации роутеров:
1. main router (базовые команды)
2. message_admin_router
3. admin_router
4. registration_router
5. admin_account_router
6. admin_chat_router
7. redraw_router
8. p2p_chat_router
9. help_router  # ← НОВЫЙ
10. chat_router
11. account_router

📊 Статистика изменений

  • Новые файлы: 1 (help_handlers.py)
  • Измененные файлы: 4 (admin_panel.py, chat_handlers.py, ui.py, main.py)
  • Новые зависимости: 1 (openpyxl)
  • Новые команды: 1 (/help)
  • Новые обработчики: 6 (помощь + ключевые слова)
  • Строк кода добавлено: ~400

Тестирование

Проверено:

  • Бот успешно запускается
  • Контейнер пересобран с новыми зависимостями
  • Справка доступна из главного меню
  • Кнопка " Справка" работает (подтверждено логами)
  • Обработчик help_main вызывается корректно
  • Нет ошибок компиляции в новом коде

Требуется протестировать:

  • Экспорт пользователей в XLSX
  • Импорт пользователей из XLSX
  • Обработка команд start/старт в чате
  • Навигация по всем разделам справки

🎯 Итоги

Все три запрошенные функции успешно реализованы:

  1. XLSX экспорт/импорт - удобная работа с данными пользователей
  2. Обработка start в чате - быстрый возврат в главное меню
  3. Система справки - полноценная помощь для пользователей

Бот готов к использованию новых функций! 🚀