Этот бот позволяет двум пользователям играть в игру по типу Wordle. Один игрок загадывает слово длиной от 4 до 8 букв, а второй пытается его угадать. У игрока есть 6 попыток, чтобы угадать слово.
- Команда
/start: Начать взаимодействие с ботом. - Команда
/new_game: Создать новую игру. - Команда
/cancel: Отменить текущую игру.
Оба игрока должны начать диалог с ботом, отправив ему команду /start. Иначе бот не сможет отправить личное сообщение угадывающему игроку.
Следуйте инструкциям ниже, чтобы запустить бота на вашем локальном компьютере или сервере без использования Docker.
- Откройте Telegram и найдите бот @BotFather.
- Отправьте команду
/newbotи следуйте инструкциям для создания нового бота. - После создания вы получите токен API. Сохраните его — он понадобится позже.
Убедитесь, что у вас установлен Python 3.7 или выше. Проверить версию Python можно командой:
python3 --versionpython3 -m venv venv
source venv/bin/activate # Для Linux/Mac
# or
venv\Scripts\activate # Для WindowsУстановите библиотеку python-telegram-bot версии 20 или выше:
pip install python-telegram-bot --upgrade- Создайте файл
main.pyи скопируйте в него код бота (см. выше). - Замените
'YOUR_TELEGRAM_BOT_TOKEN'на ваш токен, полученный от@BotFather.
application = ApplicationBuilder().token('YOUR_TELEGRAM_BOT_TOKEN').build()python3 main.pyЕсли всё настроено правильно, бот запустится и будет ждать сообщений в Telegram.
- Оба игрока должны найти бота в Telegram и отправить ему команду
/start. - Первый игрок (загадчик) отправляет команду
/new_game. - Следуйте инструкциям бота:
- Укажите
@usernameвторого игрока. - Задайте слово из 5 букв.
- Укажите
- Второй игрок (угадывающий) получит сообщение от бота и сможет начать угадывать слово.
- У вас есть 6 попыток, чтобы угадать слово.
- После каждой попытки бот покажет вам:
- Номер текущей попытки.
- Вашу догадку (слово).
- Строку с цветными квадратами:
- 🟩 — буква на правильном месте.
- 🟨 — буква есть в слове, но на другой позиции.
- ⬜ — буквы нет в слове.
- Если вы угадали слово, получите поздравительное сообщение с эмодзи 🎉.
- Если не смогли угадать за 6 попыток, игра заканчивается, и бот сообщит вам загаданное слово.
- При каждой попытке ваша текущая попытка будет отображаться в чате.
- Загадавший игрок будет получать уведомления о ваших попытках с подробностями.
- Если угадывающий игрок правильно угадает слово, бот уведомит об этом загадывающего игрока.
- Остановка бота: Для остановки бота нажмите
Ctrl+Cв окне терминала, где он запущен. - Логирование: Бот настроен на вывод логов уровня INFO, что полезно для отладки.
- Хранение активных игр в базе данных для сохранения между перезапусками бота.
- Расширение функционала для поддержки одновременных игр с несколькими пользователями.
- Добавление словаря для проверки допустимости слов и предотвращения ввода несуществующих слов.
Если у вас возникли вопросы или проблемы с запуском бота, пожалуйста, откройте тему на GitHub или свяжитесь с разработчиком.
Для удобства развертывания и запуска бота вы можете использовать Docker. Следуйте инструкциям ниже:
-
Убедитесь, что у вас установлены:
- Docker
- Docker Compose
-
Создайте файл
.envв корневой директории проекта:TELEGRAM_BOT_TOKEN=your_bot_token_here
Замените
your_bot_token_hereна ваш токен от @BotFather.
-
Соберите Docker образ:
docker-compose build
-
Запустите контейнер:
docker-compose up -d
-
Просмотр логов:
docker-compose logs -f
-
Остановка бота:
docker-compose down
-
Перезапуск бота:
docker-compose restart
Логи бота сохраняются в директории logs/. Вы можете найти их:
- При запуске без Docker: в локальной директории
logs/ - При запуске с Docker: внутри volume
./logs:/app/logs