From 3eceeaf028351ded17764d4a3e1e8d0b12f768ea Mon Sep 17 00:00:00 2001 From: eleksir Date: Fri, 28 Jan 2022 21:01:32 +0300 Subject: [PATCH] Now it is aleesa-telegram --- README | 35 ++++++++++++++ README.md | 48 -------------------- README_RU.md | 48 -------------------- bin/{aleesa-telegram-bot => aleesa-telegram} | 0 contrib/aleesa-telegram.openrc | 11 +++++ 5 files changed, 46 insertions(+), 96 deletions(-) create mode 100644 README delete mode 100644 README.md delete mode 100644 README_RU.md rename bin/{aleesa-telegram-bot => aleesa-telegram} (100%) create mode 100644 contrib/aleesa-telegram.openrc diff --git a/README b/README new file mode 100644 index 0000000..6bcb1bb --- /dev/null +++ b/README @@ -0,0 +1,35 @@ +aleesa-telegram +----------------------------------------------------------------------------------------------------------------------- +Сервис для aleesa-bot, работающий с мессенджером Telegram. + +С остальными сервисами aleesa-bot работает по протоколу Redis pub-sub. + + +Механика работы +----------------------------------------------------------------------------------------------------------------------- +Сервис подписан на pub-sub redis-канал telegram. В этот канал пишут остальные сервисы aleesa-bot-а ответ на запросы +этого сервиса. + +Формат протокола общения по redis pub-sub - см README от aleesa-misc. + + +Как это запустить? +----------------------------------------------------------------------------------------------------------------------- +Понадобится perl, cpanm и local::lib, а также несколько разных devel-пакетов для разных библиотек. Как правило, это +находится методом тыка, но точно понадобятся zlib-devel, openssl-devel, hiredis-devel. Кроме того, понадобятся +development tools - gcc, gcc-g++, perl-devel, make, cmake и так далее. + +Приложение тестировалось на alpine linux x86_64 3.12, со встроенным perl-5.32.1 + +В каталоге с приложением под целевым пользователем запускаем bash bootstrap.sh Ждём с надеждой, что оно не обломится в +пути. + +Если всё хорошо, то после создания data/config.json из data/config_sample.json и можно запускать приложение. Оно +запустится как unix daemon. + +В каталоге contrib находится скрипт для alpine linux, системы инициализации openrc. Этот скрипт достаточно положить В +/etc/init.d/aleesa-telegram сконфигурить сервис по инструкции выше и после этого сервис запускается командой: +service aleesa-telegram start + +в автозагрузку его можно прописать через команду: +rc-update add aleesa-telegram default diff --git a/README.md b/README.md deleted file mode 100644 index b545bbe..0000000 --- a/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Aleesa-Telegram-bot - Telegram chatty bot - -## About - -It is based on Perl modules [Telegram::Bot][1] and [Hailo][2] as conversation -generator. - -I have to fork [Telegram::Bot][1] and update it according to features appeared -in [Telegram Bot API v5][3]. Also, I decide to rename it to avoid collision in -the future, now it is Teapot::Bot and is bundled with bot. When lib becomes -mature enough, maybe I release it separately. - -Bot config located in **data/config.json**, sample config provided as -**data/sample_config.json**. - -Bot can be run via **bin/aleesa-telegram-bot** and acts as daemon (double -fork() and detaches stdio). - -## Installation - -In order to run this application, you need to "bootstrap" it - download and -build all required dependencies and libraries. - -You'll need perl-5.18 or newer, "Development Tools" or similar group of -packages, perl, perl-devel, perl-local-lib, perl-app-cpanm, sqlite-devel, -zlib-devel, openssl-devel, libdb4-devel (Berkeley DB devel), make, -hiredis-devel. - -After installing required dependencies it is possible to run: - -```bash - -bash bootstrap.sh - -``` - -and all libraries should be downloaded, built, tested and installed. - -## Running - -This bot does not [ultilize][4] webhooks, so in order to run it only well -internet connection is required, no public-available ip address is needed. - - -[1]: https://metacpan.org/pod/Telegram::Bot -[2]: https://metacpan.org/pod/Hailo -[3]: https://core.telegram.org/bots/api -[4]: https://core.telegram.org/bots/api#getting-updates diff --git a/README_RU.md b/README_RU.md deleted file mode 100644 index 83db20b..0000000 --- a/README_RU.md +++ /dev/null @@ -1,48 +0,0 @@ -# Aleesa-Telegram-bot - Болтливый бот для Telegram - -## Что это такое - -Это бот, основанный на перловых модулях [Telegram::Bot][1] для работы в -мессенджере Telegram и [Hailo][2] для генерации "умной" беседы. - -Для корректной работы, пришлось форкнуть [Telegram::Bot][1], чтобы обновить -интерфейс API до [Telegram Bot API v5][3]. Для избежания неоднозначностей, модуль -пришлось переименовать и теперь он идёт в составе бота. Возможно, когда модуль -отлежится и будет похож на стабильный, он стнет самостоятельным и поселится на -metacpan.org - -Конфиг бота должен лежать в **data/config.json**. Пример конфига расположен в -**data/sample_config.json**. - -Бота можно запустить через **bin/aleesa-telegram-bot** и он взлетит, как юниксовый -демон (сделает двойной fork() и отцепится от stdio). - -## Установка - -Чтобы запустить приложение, его надо "забурстрапить" - загрузить и собрать все -необходимые зависимости. - -Понадобится perl-5.18, а желательно новее, "Development Tools" или подобная -группа пакетов , perl, perl-devel, perl-local-lib, perl-app-cpanm, sqlite-devel, -zlib-devel, openssl-devel, libdb4-devel (Berkeley DB devel), make, hiredis-devel. - -После установки этих пакетов, можно будет запустить: - -```bash - -bash bootstrap.sh - -``` - -и, по идее, всё что нужно будет выкачено, собрано и разложено куда надо. - -## Запуск и работа - -Бот не использует [вебхуки][4], поэтому ничего дополнительного, кроме хорошего -подключения к интернету ему не нужно. - - -[1]: https://metacpan.org/pod/Telegram::Bot -[2]: https://metacpan.org/pod/Hailo -[3]: https://core.telegram.org/bots/api -[4]: https://core.telegram.org/bots/api#getting-updates diff --git a/bin/aleesa-telegram-bot b/bin/aleesa-telegram similarity index 100% rename from bin/aleesa-telegram-bot rename to bin/aleesa-telegram diff --git a/contrib/aleesa-telegram.openrc b/contrib/aleesa-telegram.openrc new file mode 100644 index 0000000..751365a --- /dev/null +++ b/contrib/aleesa-telegram.openrc @@ -0,0 +1,11 @@ +#!/sbin/openrc-run + +name="$SVCNAME" +command="/var/lib/$SVCNAME/bin/$SVCNAME" +pidfile="/var/run/$SVCNAME/$SVCNAME.pid" + +depend() { + need net redis + use dns + after redis +}