Move ban_delay to config

This commit is contained in:
eleksir
2023-10-01 23:12:37 -07:00
parent 8de8d56d67
commit 453c15c046
4 changed files with 11 additions and 3 deletions

View File

@@ -356,9 +356,11 @@ func squash(room, jid string, reasonEnable bool, vType string) (string, error) {
ban += "</item>" ban += "</item>"
// Выжидаем 0.3 секунды перед баном. А то можно настолько рано забанить, что сервер не внсёт злодея в банлист // Выжидаем некоторое время перед баном. А то можно настолько рано забанить, что сервер не внесёт злодея в банлист
// комнаты и пришлёт affiliation: none вместо affiliation: outcast. Надеюсь, этого будет хватать. // комнаты и пришлёт affiliation: none вместо affiliation: outcast.
time.Sleep(333 * time.Millisecond) if config.Jabber.BanDelay > 0 {
time.Sleep(time.Duration(config.Jabber.BanDelay) * time.Millisecond)
}
if id, err = talk.RawInformationQuery( if id, err = talk.RawInformationQuery(
talk.JID(), talk.JID(),

View File

@@ -106,6 +106,10 @@
"rotation_splay_time": 345600 "rotation_splay_time": 345600
}, },
# Задержка перед баном, миллисекунды. Иногда сервер может подтормаживать на моменте бана. Jabber.ru так делает.
# В этом случае бан не записывается в банлист комнаты.
"ban_delay": 600,
# Произносим ли что-то пафосное в момоент бана # Произносим ли что-то пафосное в момоент бана
"ban_phrases_enable": false, "ban_phrases_enable": false,

1
lib.go
View File

@@ -257,6 +257,7 @@ func readConfig() error { //nolint:gocognit,gocyclo
// Если sampleConfig.Jabber.RuntimeStatus.RotationTime не задан, то он равен 0 // Если sampleConfig.Jabber.RuntimeStatus.RotationTime не задан, то он равен 0
// Если sampleConfig.Jabber.RuntimeStatus.RotationSplayTime не задан, то он равен 0 // Если sampleConfig.Jabber.RuntimeStatus.RotationSplayTime не задан, то он равен 0
// Если sampleConfig.Jabber.BanDelay не задан, то он равен 0
// Если sampleConfig.Jabber.BanPhrasesEnable не задан, то он false // Если sampleConfig.Jabber.BanPhrasesEnable не задан, то он false
// Если список фраз, с которыми банят пустой, то вносим в него одну позицию с пустой строкой // Если список фраз, с которыми банят пустой, то вносим в него одну позицию с пустой строкой

View File

@@ -31,6 +31,7 @@ type myConfig struct {
RotationTime int64 `json:"rotation_time,omitempty"` RotationTime int64 `json:"rotation_time,omitempty"`
RotationSplayTime int64 `json:"rotation_splay_time,omitempty"` RotationSplayTime int64 `json:"rotation_splay_time,omitempty"`
} `json:"runtime_status,omitempty"` } `json:"runtime_status,omitempty"`
BanDelay int64 `json:"ban_delay,omitempty"`
BanPhrasesEnable bool `json:"ban_phrases_enable,omitempty"` BanPhrasesEnable bool `json:"ban_phrases_enable,omitempty"`
BanPhrases []string `json:"ban_phrases,omitempty"` BanPhrases []string `json:"ban_phrases,omitempty"`
} `json:"jabber,omitempty"` } `json:"jabber,omitempty"`