Skip to content

antauren/quiz-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quiz-bot (бот-викторина) для VK и Telegram

В данном боте реализованы следующие функции:

  • кнопочное меню
  • анализ ответов пользователей
  • хранение статистики в базе данных Redis

Пример для Telegram:
Картинка

Пример для ВКонтакте:
Картинка

Как добавить свои вопросы в викторину

  • положите текстовые файлы с вопросами в папку questions
  • все файлы в папке questions должны иметь одинаковую кодировку
  • кодировка задается в переменных окружения (см.ниже)

Формат файлов:

  • вопрос и ответ должны быть разделены одинарным пробелом
  • перед вопросом и ответом нужно написать Вопрос: и Ответ:, соответственно
  • блоки вопрос-ответ должны быть разделены двойным пробелом

Пример:

Вопрос 1:
Первый президент СССР?

Ответ:
Горбачев


Вопрос 2:
Год Крещения Руси?

Ответ:
988

Как установить

Заведите базу данных Redis

База данных нужна для хранения статистики, а так же для хранения информации о вопросах и ответах

  • https://redislabs.com/
    Вы получите адрес базы данных вида:
    redis-13965.f18.us-east-4-9.wc1.cloud.redislabs.com,
    его порт вида: 16635, и пароль.

Как запустить ботов на Heroku

  1. Зарегистрируйте приложение на Heroku

  2. В созданном приложении во вкладке Deploy привяжите данный github-репозиторий в Deployment method и нажмите Deploy Branch внизу страницы

  3. Во вкладке Settings подключите Python-пакет (Add buildpack):

    • heroku/python
  4. Во вкладке Settings заполните переменные:

    TG_TOKEN=1234abcd   
    VK_TOKEN=1234abcd
    
    REDIS_HOST=redis-12345.a01.ab-abcd-0-1.ab0.cloud.redislabs.com  
    REDIS_PORT=12345
    REDIS_PASSWORD=1234abcd
    
    ENCODING=KOI8-R
    
  5. Во вкладке Resources запустите сервер
    Можно запустить сразу двух ботов

Как запустить на своей машине

Python3 должен быть уже установлен. Затем используйте pip (или pip3, есть конфликт с Python2) для установки зависимостей:

pip install -r requirements.txt
  1. Создайте в корневой папке файл .env и пропишите в нем переменные следующим образом:

    TG_TOKEN=12345abcde   
    VK_TOKEN=12345abcde
    
    REDIS_HOST=redis-12345.a01.ab-abcd-0-1.ab0.cloud.redislabs.com  
    REDIS_PORT=12345
    REDIS_PASSWORD=12345abcde
    
    ENCODING=KOI8-R
    
  2. Запустите ботов: python tg_bot.py.py или python vk_bot.py.py

Цель проекта

Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages