{ # Фронт-энд бота "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": [ { # Название чатрума/конференции "name": "my_channel@conference.jabber.tld", # Под каким ником бот зайдёт конкретно на этот канал. Если не задано, будет использован ник, заданный в # общих настройках Jabber, выше по конфигу. "nick": "alice", # Пароль, если не задан или пустой, то заход в комнату будет без пароля. (не реализовано) "password": "secret" }, { "name": "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" }