Git Product home page Git Product logo

quiz_bot's Introduction

Бот для проведения викторины

Данный бот предназначен для организации викторины в telegram и в группе ВКонтакте. Бот берет вопросы и ответы для викторины из текстовых файлов и сохраняет их в базе данных Redis.

Alt text Alt text

Установка и запуск

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

pip install -r requirements.txt

Создайте базу данных на Redislabs

Для установки создайте файл .env, в котором заполните следующие переменные окружения:

  • TG_ACCESS_TOKEN - Секретный ключ бота telegram для викторины.
  • TG_LOG_TOKEN - Секретный ключ бота для информации об ошибках.
  • TG_CHAT_ID - ID чата текущего пользователя telegram.
  • VK_ACCESS_TOKEN - Секретный токен для подключения к api сайта vk.com.
  • VK_GROUP_ID - Идентификатор группы ВКонтакте.
  • REDIS_HOST - Адрес базы данных redis.
  • REDIS_PORT - Порт для подключения к базе данных redis.
  • REDIS_PASSWORD - Пароль для подключения к базе данных redis.

Запускают скрипт с одним обязательным параметром:

  • -q, --quiz {tg, vk} Запуск викторины в telegram (tg) или ВКонтакте (vk).

Также доступны следующие необязательные параметры:

  • -u, --update_db Обновляет базу данных вопросов викторины с файлов.
  • -f, --quiz_folder Путь к каталогу с текстовыми файлами вопросов для викторины.
python.exe main.py --quiz tg

Информацию о ходе выполнения скрипт отправляют отдельному боту telegram. Токен его должен быть указан в соответствующей переменной окружения. В составе скрипта присутствует файл Procfile, необходимый для деплоя на сервер HEROKU. Файл уже настроен должным образом, поэтому перенос скрипта на сервер выполняется в соответствии с документацией сервера HEROKU.

Цель проекта

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

quiz_bot's People

Contributors

juliakendo avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.