Implement help, помощь, rehash commands, restrict presence collection precedure

This commit is contained in:
eleksir
2023-09-03 14:52:35 +03:00
parent 91eac5cb6d
commit ca384b5165
7 changed files with 322 additions and 54 deletions

View File

@@ -3,46 +3,80 @@
"jabber": {
# Если не задан, будет localhost
"server": "jabber.tld",
# Если не задано - 5222 для нешифрованного соединения или для starttls и 5223 для голого (старорежимного) ssl
"port": 5222,
# Включить шифрование
"ssl": true,
# Это более современный протокол и как раз на нём работет большинство jabber-серверов, порт 5222,
# jabber.ru по этому протоколу как-то странно работает, если его включить, я получаю
# tls: first record does not look like a TLS handshake
"starttls" : true,
# Не проверяем сертификаты по-умолчанию.
# Вам правда хочется всё это проверять? Там по идее могут быть всякие 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": "buny",
# Уникальная часть jid-а, специфичная для клиента
"resource" : "Лунная призма",
# Имя пользователя для авторизации на сервере
"user": "buny@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": [
"bunny bot is starting"
],
# Статус, который демонстрируется во время работы бота, как xa
# (по задумке - extended away, на практике, к away обычно отношения не имеет)
"runtime_status": {
@@ -62,15 +96,19 @@
"Звезда нашей надежды никогда не исчезнет. Пока она горит, всё будет в порядке. Мы не сможем проиграть",
"Голова с хвостиками… Не вмешивайся в наши дела! Играть в войну — это опасно"
],
# Период смены статуса, сек. Если параметра нет или он выставлен в 0, ротации не будет
# 3 дня
"rotation_time": 259200,
# Рандомная составляющая, добавляемая к периоду смены статуса, сек.
# 4 дня
"rotation_splay_time": 345600
},
# Произносим ли что-то пафосное в момоент бана
"ban_phrases_enable": false,
# Пафосные фраза, произносимые перед баном
"ban_phrases": [
"Во имя Луны, я накажу тебя!",
@@ -103,18 +141,12 @@
"Мы сражаемся за мир и равенство!",
"Мы — надежда для всех, кто нуждается в защите!",
"Мы — воительницы справедливости, и ничто не остановит нас!"
],
# Имя пользователя для авторизации на сервере
"user": "buny@jabber.tld",
# Пароль для авторизации
"password": "secret",
# Jabber-каналы, к которым бот попробует присоединиться при старте
"channels": [
"my_channel@conference.jabber.tld",
"another_channel@conference.jabber.tld"
]
},
# command sign символ-суффикс команды, например !rehash или !help. По-умолчанию "!".
"csign" : "!",
# Многословность логов. Если не задано, то info. Debug - ДЕЙСТВИТЕЛЬНО вербозный уровень логгирования.
# Есть ещё trace :)
"loglevel": "debug",