Coder Social home page Coder Social logo

dr-tg's Introduction

Telegram-бот для игры в дозор. Является прокси-клиентом для старого и неповоротливого движка дозора.

Чтобы запустить бота, нужно иметь небольшие навыки запуска python-приложений.

Написан на python3. Для работы нужна база данных, например postgresql.

Функции

Парсит коды из чатов (групповых или личных), пробивает в движок. Отправляет в ответ собеседнику статус пробития кода.

code

Проверяет состояние движка. Если какие-то коды взяты, то посылает табличку кодов в канал.

ko

Посылает location-сообщение, если видит сообщение с координатами.

cords

Присылает нотификацию в случаях:

  • Взятия спойлера
  • Нового уровня
  • Открытия подсказок

Читает общий чат, забирает оттуда коды, найденные по маске (регулярному выражению), пробивает в движок. Более подробно написано на странице "использование".

Установка

Можно запустить локально на вашем компьютере, либо на сервере. Ниже я опишу процесс настройки бота на mac/linux системах. В винде может это все сработает, но я не уверен.

  • Убедитесь, что у вас есть python: python3 --version. Если нет - поставьте.
  • Убедитесь, что у вас есть база: psql --version. Если нет - поставьте. Создайте там пользователя и базу.
  • Убедитесь, что у вас есть git: git --version. Если нет - поставьте.
  • Создайте директорию, в которой будет все, относящееся к проекту. mkdir drbot. Перейдите туда: cd drbot.
  • Склонируйте репозиторий проекта: git clone ... src
  • Заведите себе python виртуальное окружение: virtualenv env -p python3. Активируйте его source ./env/bin/activate
  • Зайдите в директорию с кодом cd src.
  • Установите пакеты: pip install -r ./requirements.txt
  • Создайте файл настроек: cp ./settings.example.py ./settings.py. Откройте его каким-нибудь редактором.
  • Откройте приложение для telegram, и идите общаться с ботом @botfather.
  • Создайте бота, его токен запишите в файле settings.py в переменную TOKEN.
  • Создайте канал, его id запишите в файле settings.py в переменную CHANNEL_ID.
  • Пригласите бота в канал, наделите его админскими полномочиями.
  • Напиште что-нибудь боту, подпишитесь сами на канал.
  • Запустите бота python bot.py. Бот должен начать работать без ошибок.
  • Напиште боту /help. Он должен ответить списком комманд.

Использование

Использование

Структура файлов

Бот написан в рамках паттерна mvc.

  • parser.py модель, источник данных. Основной класс - Parser, который парсит дозорный движок.
  • views.py - функции отображения данных.
  • bot.py - контроллер. Обрабатывает действия пользователей, и посылает им сообщения.

Поддержка

Пишите мне http://telegram.me/paveltyavin с вопросами по дозорному движку, или по этому боту. Паша.

Если стесняетесь писать мне в чат, можете оставить свой вопрос или предложение здесь на github в разделе issues

Лицензия

mit

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.