init commit

This commit is contained in:
2025-09-11 07:34:50 +09:00
commit 5ddc540f9e
36 changed files with 5103 additions and 0 deletions

87
QUICKSTART.md Normal file
View File

@@ -0,0 +1,87 @@
# Quiz Bot
## 📱 Готовый к использованию телеграм-бот для викторин
### ✅ Что уже готово:
- ✅ Асинхронная архитектура для множества пользователей
- ✅ База данных SQLite с полной схемой
- ✅ 100 готовых вопросов по корейскому языку (5 уровней × 20 вопросов)
- ✅ Два режима работы (гостевой и тестирование)
- ✅ Система статистики и результатов
- ✅ CSV-импорт новых тестов
- ✅ Полная документация и примеры
### 🚀 Быстрый старт:
```bash
# 1. Создайте бота у @BotFather в Telegram
# 2. Скопируйте токен в .env файл
echo "BOT_TOKEN=ваш_токен_здесь" > .env
# 3. Запустите бота
python src/bot.py
```
### 🎮 Возможности:
**Гостевой режим:**
- 5 случайных вопросов
- Без сохранения результатов
- Быстрое прохождение
**Режим тестирования:**
- 10 вопросов по выбранному уровню
- Сохранение в базу данных
- Подробная статистика
### 📚 Готовые тесты:
**🇰🇷 Корейский язык:**
- **Уровень 1**: Базовые слова (안녕하세요, 감사합니다, etc.)
- **Уровень 2**: Повседневное общение (погода, еда, время)
- **Уровень 3**: Средняя грамматика (условия, сложные конструкции)
- **Уровень 4**: Продвинутый уровень (сравнения, предположения)
- **Уровень 5**: Высокий уровень (абстракции, профессиональная лексика)
### 🔧 Утилиты:
```bash
python demo.py # Демонстрация без Telegram
python test_quiz.py # Интерактивный тест в консоли
python setup.py # Проверка готовности к запуску
```
### 📁 Добавление новых тестов:
1. Создайте CSV файл в папке `data/`:
```csv
Вопрос,Ответ1,Ответ2,Ответ3,Ответ4,Правильный_ответ
"What is hello in English?","Hello","Goodbye","Please","Thank you",1
```
2. Загрузите в базу данных:
```bash
python load_questions.py
```
### 📊 Архитектура:
```
src/
├── bot.py # Основной бот
├── database/ # Работа с БД
├── services/ # CSV загрузчик
└── handlers/ # Расширения (будущее)
data/
├── quiz_bot.db # База данных
└── *.csv # Файлы с тестами
config/
└── config.py # Настройки
```
---
**🎯 Готов к продакшну!** Просто добавьте токен бота и запускайте.