Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aleesa-bot/aleesa-jabber-go

XMPP protocol component
https://github.com/aleesa-bot/aleesa-jabber-go

bot jabber xmpp

Last synced: about 1 month ago
JSON representation

XMPP protocol component

Awesome Lists containing this project

README

        

# 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` из конференции `[email protected]` за мысли, идеи для прототипа бота, с которого опять же
был списан этот фронт-энд, и за позитивный настрой.