GithubHelp home page GithubHelp logo

quiz_bot's Introduction

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

Проект позволяет запустить ботов Telegram и VK для проведения викторин. Боты умеют анализировать ответ пользователя и начислять балы за правильные ответы. Также реализован парсинг вопросов для викторины из txt файлов.

Примеры:

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

  1. Клонировать репозиторий:

    git clone https://github.com/Vasadaz/quiz_bot.git
  2. Установить зависимости:

    pip install -r requirements.txt
  3. Создать двух Telegram ботов.

    • Первый бот будет основной для работы с пользователями;
    • Второй бот нужен для отправки сообщений об ошибках в основных ботах для Telegram и VK. Его необходимо сразу активировать, т.е. инициализировать с ним диалог нажав на кнопку СТАРТ(/start), иначе он не сможет отправлять вам сообщения.
    1. Создать группу VK;
    2. Получить токен VK бот для сообщества.
  4. Создать БД Redis.

  5. Создать файл .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.
  6. Подготовить вопросы для ботов:

    1. Создать файлы с вопросами по примеру;
    2. Положить все файлы в директорию quizzes или же другую, путь к которой необходимо будет передать скрипту;
    3. Запустить скрипт для анализа файлов:
      # Скрипт будет искать файлы 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 файла с ошибками при парсинге вопросов, при этом такие вопросы не будут отправляться пользователю.
  7. Запуск ботов:

    • Telegram:

      python3 run_tg_bot.py
    • VK:

      python3 run_vk_bot.py

Цель проекта

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

quiz_bot's People

Contributors

vasadaz avatar

Watchers

 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.