Files
new_lottery_bot/docs/QUICK_GUIDE.md
Andrew K. Choi 505d26f0e9
Some checks reported errors
continuous-integration/drone/push Build encountered an error
feat: Система автоматического подтверждения выигрышей с поддержкой множественных счетов
Основные изменения:

 Новые функции:
- Система регистрации пользователей с множественными счетами
- Автоматическое подтверждение выигрышей через inline-кнопки
- Механизм переигровки для неподтвержденных выигрышей (24 часа)
- Подтверждение на уровне счетов (каждый счет подтверждается отдельно)
- Скрипт полной очистки базы данных

🔧 Технические улучшения:
- Исправлена ошибка MissingGreenlet при lazy loading (добавлен joinedload/selectinload)
- Добавлено поле claimed_at для отслеживания времени подтверждения
- Пакетное добавление счетов с выбором розыгрыша
- Проверка владения конкретным счетом при подтверждении

📚 Документация:
- docs/AUTO_CONFIRM_SYSTEM.md - Полная документация системы подтверждения
- docs/ACCOUNT_BASED_CONFIRMATION.md - Подтверждение на уровне счетов
- docs/REGISTRATION_SYSTEM.md - Система регистрации
- docs/ADMIN_COMMANDS.md - Команды администратора
- docs/CLEAR_DATABASE.md - Очистка БД
- docs/QUICK_GUIDE.md - Быстрое начало
- docs/UPDATE_LOG.md - Журнал обновлений

🗄️ База данных:
- Миграция 003: Таблицы accounts, winner_verifications
- Миграция 004: Поле claimed_at в таблице winners
- Скрипт scripts/clear_database.py для полной очистки

🎮 Новые команды:
Админские:
- /check_unclaimed <lottery_id> - Проверка неподтвержденных выигрышей
- /redraw <lottery_id> - Повторный розыгрыш
- /add_accounts - Пакетное добавление счетов
- /list_accounts <telegram_id> - Список счетов пользователя

Пользовательские:
- /register - Регистрация с вводом данных
- /my_account - Просмотр своих счетов
- Callback confirm_win_{id} - Подтверждение выигрыша

🛠️ Makefile:
- make clear-db - Очистка всех данных из БД (с подтверждением)

🔒 Безопасность:
- Проверка владения счетом при подтверждении
- Защита от подтверждения чужих счетов
- Независимое подтверждение каждого выигрышного счета

📊 Логика работы:
1. Пользователь регистрируется и добавляет счета
2. Счета участвуют в розыгрыше
3. Победители получают уведомление с кнопкой подтверждения
4. Каждый счет подтверждается отдельно (24 часа на подтверждение)
5. Неподтвержденные выигрыши переигрываются через /redraw
2025-11-16 14:01:30 +09:00

153 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Быстрая шпаргалка - Команды администратора
## 🚀 Основные команды
### Добавление счетов
**Один счет (быстро):**
```
/add_account 2223 11-22-33-44-55-66-77
```
**Несколько счетов (пакетом):**
```
/add_account
2223 11-22-33-44-55-66-77
2223 88-99-00-11-22-33-44
3334 12-34-56-78-90-12-34
```
### Управление счетами
```
/remove_account 11-22-33-44-55-66-77 # Деактивировать
/user_info 2223 # Информация о пользователе
```
### Работа с розыгрышами
```
/winner_status 1 # Статус победителей
/verify_winner AB12CD34 1 # Подтвердить выигрыш
```
---
## 📋 Типичные сценарии
### Новый клиент (полный цикл)
1. Клиент регистрируется: `/start` → "Зарегистрироваться"
2. Админ добавляет счета:
```
/add_account 2223 11-22-33-44-55-66-77
```
3. Выбрать розыгрыш из списка
4. Готово!
### Массовое добавление (10+ счетов)
```
/add_account
2223 11-22-33-44-55-66-77
2223 22-33-44-55-66-77-88
3334 33-44-55-66-77-88-99
3334 44-55-66-77-88-99-00
5556 55-66-77-88-99-00-11
```
→ Выбрать розыгрыш → Готово!
### Проведение розыгрыша
1. В боте: "Розыгрыши" → Выбрать → "Провести розыгрыш"
2. Победители получат уведомления автоматически
3. Проверить: `/winner_status 1`
### Подтверждение победителя
1. Победитель сообщает код: `AB12CD34`
2. Админ: `/verify_winner AB12CD34 1`
3. Система подтверждает и уведомляет победителя
---
## 💡 Полезные советы
- **Формат счета:** `XX-XX-XX-XX-XX-XX-XX` (7 пар цифр)
- **Клубная карта:** Любые цифры (например: 2223, 5556)
- **Код верификации:** Генерируется автоматически при регистрации
- **Отмена операции:** `/cancel` во время ввода данных
---
## ⚠️ Частые ошибки
| Ошибка | Причина | Решение |
|--------|---------|---------|
| "Пользователь не найден" | Клубная карта не зарегистрирована | Попросить зарегистрироваться через /start |
| "Счет уже существует" | Номер занят другим пользователем | Проверить номер или деактивировать старый |
| "Неверный формат" | Формат счета неправильный | Использовать XX-XX-XX-XX-XX-XX-XX |
| Нет розыгрышей | Нет активных розыгрышей | Создать розыгрыш через админ-панель |
---
## 🔍 Проверка данных
### Проверить пользователя:
```
/user_info 2223
```
Увидите:
- Все счета пользователя
- Код верификации
- Историю выигрышей
### Проверить победителей:
```
/winner_status 1
```
Увидите:
- Список всех победителей
- Статус подтверждения (✅/⏳)
- Информацию о владельцах
---
## 📞 Пользовательские команды
Клиенты используют:
- `/start` - Главное меню / регистрация
- `/my_code` - Показать код верификации
- `/my_accounts` - Список счетов
- "Мой счет" (через меню) - Подробная информация
---
## 🎯 Быстрый старт (за 1 минуту)
```bash
# 1. Клиент регистрируется
Клиент → /start → "Зарегистрироваться" → Вводит данные
# 2. Админ добавляет счета
/add_account
2223 11-22-33-44-55-66-77
2223 88-99-00-11-22-33-44
# 3. Выбрать розыгрыш
Нажать "🎯 Новогодний розыгрыш"
# 4. Провести розыгрыш
"Розыгрыши" → Выбрать → "Провести"
# 5. Подтвердить победителя
/verify_winner AB12CD34 1
✅ Готово!
```