Проект позволяет запустить ботов Telegram и VK для проведения викторин.
Боты умеют анализировать ответ пользователя и начислять балы за правильные ответы.
Также реализован парсинг вопросов для викторины из txt
файлов.
Примеры:
-
Клонировать репозиторий:
git clone https://github.com/Vasadaz/quiz_bot.git
-
Установить зависимости:
pip install -r requirements.txt
-
- Первый бот будет основной для работы с пользователями;
- Второй бот нужен для отправки сообщений об ошибках в основных ботах для Telegram и VK.
Его необходимо сразу активировать, т.е. инициализировать с ним диалог нажав на кнопку
СТАРТ(/start)
, иначе он не сможет отправлять вам сообщения.
-
Создать файл
.env
с данными:REDIS_HOST=redis-564525.a12.us-east-1-2.ec2.cloud.redislabs.com # Хост для пдключения к БД Redis REDIS_PASSWORD=NA7...ztX # Пароль root для аутентификации в БД Redis REDIS_PORT=564525 # Порт для пдключения к БД Redis TELEGRAM_ADMIN_BOT_TOKEN=5934478120:AAF...4X8 # Токен бота Telegram для отправки сообщений об ошибках. TELEGRAM_ADMIN_CHAT_ID=123456789 # Ваш id Telegram, сюда будут отправлятся сообщения об ошибках. TELEGRAM_BOT_TOKEN=581247650:AAH...H7A # Токен основного бота Telegram. VK_BOT_NAME="Бот VK https://vk.com/club219388423" # Имя бота VK для сообщениий TELEGRAM_ADMIN_BOT. VK_BOT_TOKEN=vk1.a.tjC...NQ-g # Токен бота VK.
-
Подготовить вопросы для ботов:
- Создать файлы с вопросами по примеру;
- Положить все файлы в директорию
quizzes
или же другую, путь к которой необходимо будет передать скрипту; - Запустить скрипт для анализа файлов:
Результат запуска скрипта:
# Скрипт будет искать файлы JSON в директории `quizzes` python3 quizzes_parser.py # Или же укажите путь к вашей директории python3 quizzes_parser.py -p my_dir python3 quizzes_parser.py --path my_dir
quizzes_parser
- это директория создастся в корне проекта для хранения в ней JSON файлов викторин;quizzes_parser_errors
- это директория создастся в корне проекта для хранения в ней JSON файла с ошибками при парсинге вопросов, при этом такие вопросы не будут отправляться пользователю.
-
Запуск ботов:
-
Telegram:
python3 run_tg_bot.py
-
VK:
python3 run_vk_bot.py
-
Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.