Implement random startup/runtime status, cosmetic fixes

* Implement random startup status from array in config
* Implement random runtime status from array in config
* Implement runtime status rotation
* Remove noecho option from config and from code
* Use separate goroutine to set statuses
This commit is contained in:
eleksir
2023-08-17 09:48:57 -07:00
parent ce9561b488
commit 8a67a91ffb
5 changed files with 163 additions and 30 deletions

View File

@@ -35,7 +35,73 @@
"ping_splay_delay": 3,
# Ник бота, с которым он будет заходить в комнаты
"nick": "buny",
"resource" : "buny bot",
# Уникальная часть jid-а, специфичная для клиента
"resource" : "Лунная призма",
# Статус, с которым бот запускается. (если всё нормально, этот статус будет видать только в логах сервера и
# на долю секунды он промелькнёт у всех в ростере, у кого бот в знакомых. Может отсуствовать, тогда статус будет
# пустой строкой
"startup_status": [
"bunny bot is starting",
],
# Статус, который демонстрируется во время работы бота, как xa
# (по задумке - extended away, на практике, к away обычно отношения не имеет)
"runtime_status": {
# Сам текст статуса, может отсустствовать, тогда статус - это пустая строка
"text": [
"Тот, кто не знает силу пешек, не имеет права ходить королевой.",
"Когда ты пройдешь сквозь мрак беспомощности и попадешь в мир надежды, тогда ты преодолеешь все преграды.",
"По-моему, тебе очень хочется стать уткой по-пекински!",
"If a soldier’s pride means hurting one another, I don’t want it.",
"Without the bad times, we wouldn’t appreciate the good times.",
"I’ll just warn you now, I don’t know how to use a computer.",
"Thinking isn’t going to get us anywhere.",
"Вместо того, чтобы произносить речи, лучше бы подумала, что ты будешь делать дальше.",
"Да как ты смела разгадать мой замысел?! Я же целую ночь не спала, пока его придумала. Верни мне мой сон!",
"Не волнуйся, жизнь намного скучнее, чем ты себе её представляешь.",
"Я бы завела котёнка, но у меня уже есть Луна и она жрёт как лошадь.",
"Звезда нашей надежды никогда не исчезнет. Пока она горит, всё будет в порядке. Мы не сможем проиграть",
"Голова с хвостиками… Не вмешивайся в наши дела! Играть в войну — это опасно"
],
# Период смены статуса, сек. Если параметра нет или он выставлен в 0, ротации не будет
"rotation_time": 1,
# Рандомная составляющая, добавляемая к периоду смены статуса, сек.
"rotation_splay_time": 1,
},
# Произносим ли что-то пафосное в момоент бана
"ban_phrases_enable": false,
# Пафосные фраза, произносимые перед баном
"ban_phrases": [
"Во имя Луны, я накажу тебя!",
"Сила Луны, проснись!",
"Мы — воительницы справедливости!",
"Любовь и справедливость победят всегда!",
"Я буду защищать этот мир до последнего вздоха!",
"Мысли о любви делают нас сильнее!",
"Никогда не сдавайся, даже если все кажется безнадежным!",
"Мы можем преодолеть любые трудности, если будем вместе!",
"Любовь — это самая мощная сила во Вселенной!",
"Верь в себя и свою силу!",
"Красавица-воин Сейлор Мун, покоряющая сердца!",
"Мы несем свет и надежду в этот мир!",
"Луна, дай мне силу!",
"Мысли о друзьях дают мне силу!",
"Мы боремся за мир и справедливость!",
"Мы всегда найдем путь к победе!",
"Наша дружба — это наша сила!",
"Мы — защитницы мира, и ничто не остановит нас!",
"Любовь — это то, что делает нас сильнее!",
"Мы сражаемся за будущее всех живых существ!",
"Мы всегда будем вместе, независимо от трудностей!",
"Мы — сестры по духу и воительницы справедливости!",
"Мы несем свет и надежду в этот мир!",
"Любовь — это самое важное чувство во Вселенной!",
"Мы сражаемся за справедливость и защищаем тех, кто слабее!",
"Мы — герои, которые противостоят тьме!",
"Луна, дай мне силу стать красавицей-воином!",
"Мы сражаемся за мир и равенство!",
"Мы — надежда для всех, кто нуждается в защите!",
"Мы — воительницы справедливости, и ничто не остановит нас!"
],
# Имя пользователя для авторизации на сервере
"user": "buny@jabber.tld",
# Пароль для авторизации
@@ -52,5 +118,5 @@
"loglevel": "debug",
# Если не задан, логи идут в STDOUT
"log": "/var/log/echo-jabber-bot/echo-jabber-bot.log",
"log": "/var/log/buny-jabber-bot/error.log"
}