Skip to content
Max Syachin a.k.a. Finne Trolle edited this page Mar 29, 2016 · 1 revision

Telebot

Бот для telegram с поддержкой авторизации через EVE API.

Описание

Сервис telebot - это еще один способ создать собственную сеть рассылки оповещений для ваших соаллийцев. Сервис запускается на вашем компьютере или выделенном сервере и позволяет отослать всем зарегистрировавшимся сообщение. В отличие от Jabber, Telegram является сейчас более популярным мессенджером, что увеличивает покрытие аудитории. Кроме того, клиент для telegrama субъективно лучше клиентов Jabber для мобильных устройств.

Если вам понравился бот и вы хотите поддержать его разработку, можете задонатить исок на пилота Finne Trolle

Если у вас есть пожелания - можете отправить их мне на странице issues

Функциональность

  • Возможность задать дружественные корпорации и альянсы, пилоты которых могут зарегистрироваться в системе
  • Возможность назначать и снимать модераторов, которые могут управлять альянсами, корпорациями и слать броадкасты
  • Пилоты регистрируются самостоятельно, используя свой keyID и vCode
  • REST API для отправки броадкаста
  • Возможность слушать канал в Jabber и броадкастить все что из этого канала приходит

Запуск собственного бота

Вам может показаться процесс запуска собственного бота очень сложным и я прикладываю определенные усилия для того, чтобы упростить его. Однако, на самом деле, это довольно тривиальный процесс, особенно, если вы имели опыт разработки на Java.

  • Для начала зарегистрируйте своего бота. В этой статье в первом параграфе есть короткое описание на русском языке. Официальный гайд на английском находится тут. Главное, что вы получите от @BotFather - это токен и имя бота.
  • После этого установите бота одним из описанных способов (количество способов будет увеличиваться)
  • Сконфигурируйте файл application.properties
  • Запустите бота и напишите ему со своего аккаунта. Вам будет предложено зарегистрироваться с помощью keyID и vCode.
  • Зарегистрируйтесь, выбрав персонажа, который вы указали в файле application.properties
  • Добавьте ваш альянс либо корпорацию, если альянса у вас нет
  • Добавьте дружественные альянсы и корпорации, которым вы хотите дать доступ к регистрации
  • Дайте ссылку на вашего бота (та что выглядит как telegram.me/botname) тем, кого хотели бы видеть в рассылке
  • Наслаждайтесь!

Конфигурация

В данном разделе приводится детальное описание всех настроек в файле application.properties. Конфигурация приложения, включая работу ботов и суперпользователя задается в этом файле. Конфигурация альянсов и модераторов задается в работающем сервисе с помощью клиента telegram. ВНИМАНИЕ настройки, не указанные в данном списке редактировать настоятельно не рекомендуется.

Настройки канала telegram

  • telegram.bot.token - в этом поле должен находиться токен, полученный Вами при регистрации бота
  • telegram.bot.username - имя бота, полученное при регистрации
  • telegram.bot.alive - true если бот включен, false - если выключен. Необходимо установить в true

Настройки поведения бота

  • telebot.superuser - Имя пилота суперпользователя. Привязанный к этому пилоту аккаунт телеграма является суперпользователем системы
  • telebot.broadcast.check-before-send - true если вы желаете каждый раз перед отправкой сообщения проверять список зарегистрированных на предмет наличия покинувших альянс

Настройки соединения с СУБД

Приложение поставляется с embedded базой данных hsqldb и трогать настройки категорически не рекомендуется. Однако, если вы умеете обращаться с настройками Spring Boot и на вашем сервере крутится какая-нибудь PostgreSQL, то Вы можете попытаться подключиться к ней.

Настройки приложения

  • server.port=8080 - на указанный в этой настройке порт можно будет подключаться для выполнения броадкаста через REST

Настройки Jabber

На текущий момент приложение в состоянии ранней беты, а бот, слушающий джаббер, прямо сказать, на стадии супер ранней альфы, так что используйте его на свой страх и риск

  • jabber.bot.nick - имя пользователя джаббера
  • jabber.bot.password - пароль пользователя джаббера
  • jabber.bot.domain - домен джаббер сервера
  • jabber.bot.server - хост джаббер сервера
  • jabber.bot.port - порт джаббер сервера
  • jabber.bot.broadcaster полный идентификатор персоны на вашем джаббер-сервере, от которой бот в личке будет ждать сообщений в виде somebot@jabber.someally.com
  • jabber.bot.alive - true если хотите включить бота, false - если не хотите его использовать. По умолчанию вы не хотите его использовать

Установка

Установка из исходников

  • Для установки из исходников вам необходимо установить maven, git и JDK8.
  • Склонируйте репозиторий git clone https://github.com/finnetrolle/telebot.git
  • Перейдите в папку с исходниками cd telebot
  • Скомпилируйте проект mvn -U clean install
  • Создайте папку для исполняемых файлов mkdir bin
  • Скопируйте приложение в эту папку cp target/telebot.jar bin
  • Скопируйте файл с настройками в эту папку cp target/application.properties bin
  • Перейдите в папку cd bin
  • Сконфигурируйте application.properties в папке bin
  • Запустите приложение выполнив команду java -jar telebot.jar &