0

Initial commit

This commit is contained in:
eleksir
2023-09-17 12:18:09 +03:00
commit 843dd418b0
1514 changed files with 643531 additions and 0 deletions

125
data/sample_config.json Normal file
View File

@@ -0,0 +1,125 @@
{
# Фронт-энд бота
"redis": {
# Если не задан, будет localhost
"server": "redis.tld",
# 6379 if not set
"port": 6379,
# Канал, на котором работает msg router
"channel" : "misc"
# Канал, в который пишут другие модули бота сообщения для jabber-модуля
"my_channel" : "jabber"
},
"jabber": {
# Если не задан, будет localhost
"server": "jabber.tld",
# Если не задано - 5222 для нешифрованного соединения или для starttls и 5223 для голого (старорежимного) ssl
"port": 5223,
# Включить шифрование
"ssl": true,
# Это более современный протокол и как раз на нём работет большинство jabber-серверов, порт 5222,
# jabber.ru по этому протоколу как-то странно работает, если его включить, я получаю
# tls: first record does not look like a TLS handshake
"starttls" : false,
# Не проверяем сертификаты по-умолчанию.
# Вам правда хочется всё это проверять? Там по идее могут быть всякие Lets Encrypt, которые хоть и работают, но
# создают кучу проблем
"ssl_verify": false,
# Позволять авторизацию логин-паролем по незашифрованному каналу связи
"insecureallowunencryptedauth": false,
# Таймаут установления соединения с сервером, в секундах. 10 секунд, если не задано.
"connection_timeout": 10,
# Задержка перед пере-коннекчиванием. 3 секунды, если не задано.
"reconnect_delay": 3,
# Промежуток между пингами сервера, для определения его живости. По-умолчанию 60 секунд.
# Пинги посылаются, если в течение этого времени не было активности со стороны сервера.
"server_ping_delay": 60,
# Промежуток между пингами muc-ов. По-умолчанию 900 секунд. (Согласно рекомендации в xep-0410.)
# Пинги посылаются, если в течение этого времени не было активности со стороны muc-а.
"muc_ping_delay": 900,
# Сколько ждать перед переджоиванием к комнате. По-умолчанию, 3 секунды.
"muc_rejoin_delay": 3,
# Ping-to-ping splay delay. Варьируемая задержка между пингами, чтобы не набирать высокий message rate.
# По-умолчанию, 3 секунды. Под капотом преобразуются в миллисекунды. Важна для пингов MUC-ов, особенно,
# если их МНОГО.
"ping_splay_delay": 3,
# Ник бота, с которым он будет заходить в комнаты
"nick": "aleesa",
# Уникальная часть jid-а, специфичная для клиента
"resource" : "bot",
# Имя пользователя для авторизации на сервере
"user": "aleesa@jabber.tld",
# Пароль для авторизации
"password": "secret",
# Список JID-ов, которым позволено управлять ботом (например, давать отмашку на rehash).
# В списке jid-ы без resource-а.
# Если не задано ни одного мастера, то бот сам себе мастер.
"bot_masters": [
"luna@earth.tld"
],
# Jabber-каналы, к которым бот попробует присоединиться при старте
"channels": [
"my_channel@conference.jabber.tld",
"another_channel@conference.jabber.tld"
],
# Статус, с которым бот запускается. (если всё нормально, этот статус будет видать только в логах сервера и
# на долю секунды он промелькнёт у всех в ростере, у кого бот в знакомых. Может отсуствовать, тогда статус будет
# пустой строкой
"startup_status": [
"aleesa bot is starting"
],
# Статус, который демонстрируется во время работы бота, как xa
# (по задумке - extended away, на практике, к away обычно отношения не имеет)
"runtime_status": {
# Сам текст статуса, может отсустствовать, тогда статус - это пустая строка
"text": [
"I’ll just warn you now, I don’t know how to use a computer."
],
# Период смены статуса, сек. Если параметра нет или он выставлен в 0, ротации не будет
# 3 дня в секундах
"rotation_time": 259200,
# Рандомная составляющая, добавляемая к периоду смены статуса, сек.
# 4 дня в секундах
"rotation_splay_time": 345600
},
# Каталог, в котором размещается бд с настройками бота, которые можно менять на лету через команду !admin
"data_dir": "data",
# Будет 5, если не задан. Скорее всего вам не надо это менять.
"forwards_max": 5,
# command sign символ-суффикс команды, например !rehash или !help. По-умолчанию "!".
"csign" : "!",
# Многословность логов. Если не задано, то info. Debug - ДЕЙСТВИТЕЛЬНО вербозный уровень логгирования.
# Есть ещё trace :)
"loglevel": "debug",
# Если не задан, логи идут в STDOUT
"log": "/var/log/aleesa-jabber-go/error.log"
}