Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/ilyashirko/quiz_bot
- Owner: ilyashirko
- Created: 2022-11-12T17:09:18.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2022-12-21T08:35:58.000Z (about 2 years ago)
- Last Synced: 2024-10-11T23:23:04.475Z (2 months ago)
- Topics: python3, redis, sequencematcher, telegram-bot, vk-api
- Language: Python
- Homepage:
- Size: 46.9 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
```