Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ilyashirko/quiz_bot

One question - one hidden answer quiz bot.
https://github.com/ilyashirko/quiz_bot

python3 redis sequencematcher telegram-bot vk-api

Last synced: about 2 months ago
JSON representation

One question - one hidden answer quiz bot.

Awesome Lists containing this project

README

        

# Бот-викторина
Данный бот создан с использованием `vk_api` и `python-telegram-bot`.
Пользователь бота отвечает на вопросы и накапливает очки.

## Установка
Клонируйте репозиторий и войдите в корневую директорию:
```sh
git clone https://github.com/ilyashirko/quiz_bot && cd quiz_bot
```
для того чтобы развернуть проект вам понадобится `python==3.8` и `poetry==1.2.0`. Установите зависимости:
```sh
poetry install
```
## Настройка переменных окружения
Пример в `.env.example`.
`ADMIN_TELEGRAM_ID=` - telegram id администратора бота, который будет получать логи.
`TELEGRAM_BOT_TOKEN=` - токен телеграм бота получаемый в [BotFather](https://t.me/botfather).
`VK_BOT_TOKEN=` - токен vk бота получаемый при настройке сообщества.
`REDIS_HOST=` - хост базы redis (по умолчанию - `localhost`).
`REDIS_PORT=` - порт базы redis (по умолчанию - `6379`).
`REDIS_PASSWORD=` - пароль базы redis (по умолчанию - `None`).
`ANSWER_RATIO_BORDER=` - порог точности ответа (по умолчанию - `0.9`)

## Загрузка вопросов и ответов
Для идеальной работы потребуется список вопросов.
Вы можете либо подготовить `.json` файл самостоятельно, как в примере `questions.json.example`.
Либо вы можете поместить txt файлы с вопросами в папку `quiz-questions`.
Важно чтобы файлы были правильно составлены, пример идеальной разметки ниже (очень важны переносы строк):
```
Вопрос:
Здесь будет ваш вопрос.

Ответ:
Здесь будет ваш ответ.

Вопрос:
Здесь будет ваш следующий вопрос.

...
```
Если вы поместили файлы в папке `quiz-question` вам потребуется запустить генератор `.json` файла:
```sh
python3 load_questions.py
```

## Запуск ботов
Для запуска ботов вам потребуется ввести команду:
```sh
python3 telegram_bot.py | python3 vk_bot.py
```