0
Files
aleesa-jabber-go/README.md
2023-10-21 12:18:19 +03:00

71 lines
3.8 KiB
Markdown

# Aleesa-jabber-go
## Что это?
Сервис для aleesa-bot, работающий с протоколом XMPP/Jabber. С основными сервисами aleesa-bot он работает по протоколу
Redis pubsub.
## Как заставить его работать?
Технически, бот собирается гошкой 1.21. Приложение тестировалось на alpine linux x86_64 3.16, но должно работать на
любом (более свежем) linux-е. Работоспособность на других платформах не тестировалась.
Чтобы получить готовые бинарники, достаточно выполнить команду:
```bash
make
```
в итоге получится бинарник **aleesa-jabber-go**. После создания data/config.json из data/config_sample.json, можно
запускать приложение.
Предполагается, что конфиг написан в формате [human json](https://hjson.github.io), который допускает комментарии и
некоторые другие вольности в форматировании json-а. Конфиг ищется последовательно по следующим путям по принципу "кто
первый того и тапки":
```text
~/.aleesa-jabber-go.json
~/aleesa-jabber-go.json
/etc/aleesa-jabber-go.json
data/config.json
```
В каталоге **contrib** находится скрипт для _alpine linux_, системы инициализации _openrc_. Этот скрипт достаточно
положить в **/etc/init.d/aleesa-jabber-go**. После чего скопировать бинарник в каталог **/var/lib/aleesa-jabber-go**,
положить конфиг в одну из дефолтных локаций (тестировалась /var/lib/aleesa-jabber-go/data/config.json) и после этого
сервис запускается командой:
```bash
service aleesa-jabber-go start
```
В автозагрузку его можно прописать через команду:
```bash
rc-update add aleesa-jabber-go default
```
### Замечание
Для бота важно, чтобы комната была _неанонимной_, или была _полуанонимной_ (но тогда бот должен быть админом, чтобы
_видеть real jid-ы_ участников). По механике работы, ему крайне желательно знать real jid-ы участников.
### Другое замечание
"Православный" способ сборки через команду **make**. Она генерирует из файла config.in файл config.go, в котором
прописывается версия программы из файла version.txt. Эта версия будет позже видна по команде ver/version/версия.
## Дисклеймер
Весь дисклеймер в файле LICENSE.txt :)
## Благодарности
Во-первых, `сообществу`, без него не было бы чятиков.
Во-вторых, `batman46(new)` из конференций на `jabber.ru`, за наблюдения и за некоторые идеи, воплощённые в прототипе
бота, с которого был списан этот фронт-энд.
В-третьих, `U2` из конференции `radio@conference.jabber.ru` за мысли, идеи для прототипа бота, с которого опять же
был списан этот фронт-энд, и за позитивный настрой.