0

More linter fixes, disable gci linter as it conflicts with goimports

This commit is contained in:
eleksir
2025-03-30 16:59:10 +03:00
parent 7bcc407857
commit 8f8073ca3e
3 changed files with 23 additions and 12 deletions

View File

@@ -72,7 +72,6 @@ linters:
- examples$ - examples$
formatters: formatters:
enable: enable:
- gci
- gofmt - gofmt
- goimports - goimports
exclusions: exclusions:

View File

@@ -7,6 +7,8 @@ import (
"strings" "strings"
"time" "time"
"aleesa-irc-go/internal/boolcollection"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
irc "github.com/thoj/go-ircevent" irc "github.com/thoj/go-ircevent"
) )
@@ -56,18 +58,25 @@ func ircClientRun() {
e.Connection.Lock() e.Connection.Lock()
// Формат строки с MODE-ами https://datatracker.ietf.org/doc/html/rfc2812#section-5.1 . // Формат строки с MODE-ами https://datatracker.ietf.org/doc/html/rfc2812#section-5.1 .
availableUserModes = boolcollection.NewCollection()
availableChanModes = boolcollection.NewCollection()
log.Debugf("Add %s to list of available user modes", e.Arguments[3]) log.Debugf("Add %s to list of available user modes", e.Arguments[3])
for _, mode := range strings.Split(e.Arguments[3], "") { for _, mode := range strings.Split(e.Arguments[3], "") {
availableUserModes.Set(mode, true) availableUserModes.Set(mode, true)
} }
availableUserModes.Set("announced", true)
log.Debugf("Add %s to list available channel modes", e.Arguments[4]) log.Debugf("Add %s to list available channel modes", e.Arguments[4])
for _, mode := range strings.Split(e.Arguments[4], "") { for _, mode := range strings.Split(e.Arguments[4], "") {
availableChanModes.Set(mode, true) availableChanModes.Set(mode, true)
} }
availableChanModes.Set("announced", true)
e.Connection.Unlock() e.Connection.Unlock()
}) })
@@ -157,17 +166,19 @@ func ircClientRun() {
log.Debugf("376 RPL_ENDOFMOTD %s", e.Raw) log.Debugf("376 RPL_ENDOFMOTD %s", e.Raw)
// Если у нас есть доступный +B возьмём его себе, мы же бот. // Если у нас есть доступный +B возьмём его себе, мы же бот.
botFlag, ok := availableUserModes.Get("B") announced, _ := availableUserModes.Get("announced")
botFlag, _ := availableUserModes.Get("B")
if ok && botFlag { if announced {
if botFlag {
log.Info("Grabbing +B flag to mark me as bot") log.Info("Grabbing +B flag to mark me as bot")
ircClient.Mode(ircClient.GetNick(), "+B") ircClient.Mode(ircClient.GetNick(), "+B")
} else { } else {
if ok {
log.Info("Skip +B flag, server does not support it, noone will know that I am bot") log.Info("Skip +B flag, server does not support it, noone will know that I am bot")
} else {
log.Info("Skip +B flag, server did not announce modes (yet?), noone will know that I am bot")
} }
} else {
// Этого по идее не должно быть.
log.Info("Skip +B flag, server did not announce modes (yet?), noone will know that I am bot")
} }
if !config.Irc.Sasl && config.Irc.Password != "" && !nickIsUsed { if !config.Irc.Sasl && config.Irc.Password != "" && !nickIsUsed {
@@ -438,7 +449,7 @@ func ircClientRun() {
log.Infof("%s renames themself to %s", srcNick, dstNick) log.Infof("%s renames themself to %s", srcNick, dstNick)
} }
// Неважно чей ник сменился, надо забыть, что было и снова узнать mode-ы сменишего nick джентельмена // Неважно чей ник сменился, надо забыть, что было и снова узнать mode-ы сменишего nick джентельмена.
// TODO: реализовать userModeRenameUser() // TODO: реализовать userModeRenameUser()
userModePurgeUser(srcNick) userModePurgeUser(srcNick)
ircClient.Whois(dstNick) ircClient.Whois(dstNick)
@@ -450,12 +461,12 @@ func ircClientRun() {
channel := e.Arguments[0] channel := e.Arguments[0]
if nick == ircClient.GetNick() { if nick == ircClient.GetNick() {
// Команда names отправляется автоматом.
log.Infof("I joined to %s", channel) log.Infof("I joined to %s", channel)
// Команда names отправляется автоматом
} else { } else {
log.Infof("%s joined to %s", fullNick, channel) log.Infof("%s joined to %s", fullNick, channel)
// Технически, тут не надо спрашивать whois на пользователя, но мы спрашиваем, чтобы уточнить mode, // Технически, тут не надо спрашивать whois на пользователя, но мы спрашиваем, чтобы уточнить mode,
// вдруг сервер проставляет mode заранее (хотя не должен) // вдруг сервер проставляет mode заранее (хотя не должен).
ircClient.Whois(nick) ircClient.Whois(nick)
} }
}) })

View File

@@ -6,6 +6,7 @@ import (
"aleesa-irc-go/internal/anycollection" "aleesa-irc-go/internal/anycollection"
"aleesa-irc-go/internal/boolcollection" "aleesa-irc-go/internal/boolcollection"
"github.com/cockroachdb/pebble" "github.com/cockroachdb/pebble"
"github.com/go-redis/redis/v8" "github.com/go-redis/redis/v8"
irc "github.com/thoj/go-ircevent" irc "github.com/thoj/go-ircevent"