Skip to content

R0nd/dr-tg

 
 

Repository files navigation

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

About

Telegram bot for dzzzr.ru

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 82.3%
  • Python 17.7%