67 lines
3.3 KiB
Markdown
67 lines
3.3 KiB
Markdown
# Aleesa-jabber-go
|
|
|
|
## Что это?
|
|
|
|
Сервис для aleesa-bot, работающий с протоколом XMPP/Jabber. С основными сервисами бота работает по протоколу 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-ы участников.
|
|
|
|
## Дисклеймер
|
|
|
|
Весь дисклеймер в файле LICENSE.txt :)
|
|
|
|
## Благодарности
|
|
|
|
Во-первых, `сообществу`, без него не было бы чятиков.
|
|
|
|
Во-вторых, `batman46(new)` из конференций на `jabber.ru`, за наблюдения и за некоторые идеи, воплощённые в прототипе
|
|
бота, с которого был списан этот фронт-энд.
|
|
|
|
В-третьих, `U2` из конференции `radio@conference.jabber.ru` за мысли, идеи для прототипа бота, с которого опять же
|
|
был списан этот фронт-энд, и за позитивный настрой.
|