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