Update linter, fix linter errors

This commit is contained in:
eleksir
2025-11-15 15:52:34 +03:00
parent 3ebd2b48d1
commit ee5d40cfee
21 changed files with 1106 additions and 737 deletions

View File

@@ -4,6 +4,7 @@ import (
"encoding/json"
"fmt"
"regexp"
"slices"
"strings"
"github.com/davecgh/go-spew/spew"
@@ -17,9 +18,9 @@ func (j *Jabber) BunyPresense(v xmpp.Presence) error { //nolint:gocognit,gocyclo
var err error
// Если у presence-а есть JID и presence из одной из комнат, в которой мы есть и если его домен в чёрном
// списке, заносим пидора в список outcast-ов
// списке, заносим пидора в список outcast-ов.
if v.JID != "" {
// На всякий случай: себя никогда не баним, явным образом
// На всякий случай: себя никогда не баним, явным образом.
if v.JID == j.Talk.JID() {
return err
}
@@ -34,23 +35,19 @@ func (j *Jabber) BunyPresense(v xmpp.Presence) error { //nolint:gocognit,gocyclo
goodJid := strings.SplitN(v.JID, "/", 2)[0]
// Обрабатываем правила белого списка
// Обрабатываем правила белого списка.
for _, good := range j.WhiteList.Whitelist {
// Глобальный белый список
// Глобальный белый список.
if good.RoomName == "" {
for _, person := range good.Jid {
if person == goodJid {
return err
}
if slices.Contains(good.Jid, goodJid) {
return err
}
}
// Белый список для конкретных каналов
// Белый список для конкретных каналов.
if good.RoomName == room {
for _, person := range good.Jid {
if person == goodJid {
return err
}
if slices.Contains(good.Jid, goodJid) {
return err
}
}
}
@@ -74,16 +71,16 @@ func (j *Jabber) BunyPresense(v xmpp.Presence) error { //nolint:gocognit,gocyclo
evilNick := ""
evilNicks := strings.SplitN(v.From, "/", 2)
// Давайте-ка похэндлим нонсенс - когда у нас в строке нету разделителя
// Давайте-ка похэндлим нонсенс - когда у нас в строке нету разделителя.
if len(evilNicks) > 1 {
evilNick = evilNicks[1]
}
// Обрабатываем правила чёрного списка
// Обрабатываем правила чёрного списка.
for _, cRoom := range j.RoomsConnected {
if cRoom == room {
for _, bEntry := range j.BlackList.Blacklist {
// Обработаем правила глобального чёрного списка
// Обработаем правила глобального чёрного списка.
if bEntry.RoomName == "" {
for _, jidRegexp := range bEntry.JidRe {
if jidRegexp == "" {
@@ -147,7 +144,7 @@ func (j *Jabber) BunyPresense(v xmpp.Presence) error { //nolint:gocognit,gocyclo
nickRegexp,
)
// Баним именно jid
// Баним именно jid.
id, err := j.Squash(room, evilJid, bEntry.ReasonEnable, v.Type)
if err != nil {
@@ -167,7 +164,7 @@ func (j *Jabber) BunyPresense(v xmpp.Presence) error { //nolint:gocognit,gocyclo
continue
}
// Обработаем правила конкретного канала, комнаты конференции
// Обработаем правила конкретного канала, комнаты конференции.
if bEntry.RoomName == room {
for _, jidRegexp := range bEntry.JidRe {
if jidRegexp == "" {
@@ -232,7 +229,7 @@ func (j *Jabber) BunyPresense(v xmpp.Presence) error { //nolint:gocognit,gocyclo
nickRegexp,
)
// Баним именно jid
// Баним именно jid.
id, err := j.Squash(room, evilJid, bEntry.ReasonEnable, v.Type)
if err != nil {
@@ -265,8 +262,7 @@ func (j *Jabber) BunyPresense(v xmpp.Presence) error { //nolint:gocognit,gocyclo
func (j *Jabber) BunyChat(v xmpp.Chat) error {
var (
room = (strings.SplitN(v.Remote, "/", 2))[0]
// nick = (strings.SplitN(v.Remote, "/", 2))[1]
err error
err error
)
// Действовать мы можем только в рамках тех комнат, где явно присуствуем.
@@ -274,7 +270,7 @@ func (j *Jabber) BunyChat(v xmpp.Chat) error {
if cRoom == room {
// Перебирём правила чёрных списков.
for _, bEntry := range j.BlackList.Blacklist {
// Обработаем правила глобального чёрного списка
// Обработаем правила глобального чёрного списка.
if bEntry.RoomName == "" {
for _, phraseRegexp := range bEntry.PhraseRe {
if phraseRegexp == "" {
@@ -317,7 +313,7 @@ func (j *Jabber) BunyChat(v xmpp.Chat) error {
}
}
// Обработаем правила чёрного списка для конкретной комнаты
// Обработаем правила чёрного списка для конкретной комнаты.
if bEntry.RoomName == room {
for _, phraseRegexp := range bEntry.PhraseRe {
if phraseRegexp == "" {
@@ -364,10 +360,10 @@ func (j *Jabber) BunyChat(v xmpp.Chat) error {
// Если включено, проверяем фразу на КАПС.
for _, channel := range j.C.Jabber.Channels {
if channel.Name == room && channel.AllCaps.Enabled {
// Нормализуем строку и вырежем из неё пробелы
// Нормализуем строку и вырежем из неё пробелы.
normPhrase := strings.ReplaceAll(nString(v.Text), " ", "")
// Проверяем согласно тому, что длина фразы более чем сколько-то символов
// Проверяем согласно тому, что длина фразы более чем сколько-то символов.
if len(normPhrase) >= channel.AllCaps.MinLength {
normPhraseUpper := strings.ReplaceAll(nStringUpper(v.Text), " ", "")
@@ -401,7 +397,7 @@ func (j *Jabber) BunySoftwareVersion(v xmpp.IQ, ver IqResultSoftwareVersion) err
var err error
if v.From != "" {
// На всякий случай: себя никогда не баним, явным образом
// На всякий случай: себя никогда не баним, явным образом.
if v.From == j.Talk.JID() {
return err
}
@@ -420,6 +416,7 @@ func (j *Jabber) BunySoftwareVersion(v xmpp.IQ, ver IqResultSoftwareVersion) err
for _, presenceJSONString := range presenceJSONStrings {
var p xmpp.Presence
_ = json.Unmarshal([]byte(presenceJSONString), &p)
if p.Affiliation == "admin" || p.Affiliation == "owner" {
@@ -442,7 +439,7 @@ func (j *Jabber) BunySoftwareVersion(v xmpp.IQ, ver IqResultSoftwareVersion) err
for _, cRoom := range j.RoomsConnected {
if cRoom == room {
for _, bEntry := range j.BlackList.Blacklist {
// Обработаем правила глобального чёрного списка
// Обработаем правила глобального чёрного списка.
if bEntry.RoomName == "" {
for _, useragent := range bEntry.UserAgent {
switch {