
Познай историю, играя в увлекательную игру в Telegram. Угадывай исторические события, улучшай свои знания и получай интересные факты о прошлом!


- Запуск игры:
- Напиши команду /play, и бот предложит тебе интересное историческое событие, для которого ты должен угадать дату.
- Подсказки:
- Если твой ответ неверен, бот предоставит подсказки, чтобы помочь тебе попасть в точку.
- Правильный ответ:
- Когда ты угадаешь дату, бот расскажет дополнительную информацию о событии и покажет связанное с ним изображение.
- Просмотр статистики:
- Используй команду /stat, чтобы отслеживать свой прогресс в игре, количество угаданных событий и набранные очки.

- /start — Запусти бота и начни игру!
- /help — Ознакомься с правилами игры и доступными командами.
- /play — Начни угадывать дату исторического события!
- /sur — Сдайся и получи подробную информацию о событии.
- /cancel — Выход из режима игры.
- /stat — Посмотри свою статистику и прогресс в игре.

Бот использует MongoDB для хранения всей информации о пользователях и их играх. Это позволяет:
- Отслеживать твой прогресс.
- Обновлять количество очков и попыток.
- Хранить данные с историческими событиями для бесконечной игры.

- Python 3.8 — Основной язык для запуска бота.
- aiogram 3.0* — Для взаимодействия с Telegram Bot API.
- PyMongo — Для работы с MongoDB.

- Клонируй репозиторий и настрой .env файл:
- Заполни .env.dist и переименуй его в .env.
- Запусти бота через Docker Compose:
docker compose up --build -d
Теперь бот будет работать и готов к игре!

- Исторические события хранятся в JSONфайле:
- res/events.json — Содержит все события, которые бот использует для игры.
Пример события в JSON:
[{
"_id": 0,
"_type": "date",
"event": "Начало княжения Рюрика",
"date": 862,
"description": "Рюрик начал свое княжение...",
"image_path": "res/images/date-0.jpg"
}]

Данные пользователей хранятся в коллекции Players:
{
"_id": { "$numberLong": "6855231396" },
"current_event": null,
"guessed_events": [0, 1],
"attempts": 7,
"score": 37
}
- current_event: ID текущего события, которое угадывает пользователь.
- guessed_events: Список событий, которые пользователь уже угадал.
- attempts: Общее количество попыток.
- score: Количество набранных очков.

- Приятная и увлекательная игра.
- Множество исторических событий для угадывания.
- Дополнительная информация и изображения после каждой правильной догадки.
- Постоянный прогресс и статистика, которые вдохновляют на новые достижения.