feat(irc): support optional bot mode (#1246)

* feat(irc): set bot mode when the server supports it

See https://ircv3.net/specs/extensions/bot-mode.

* feat(irc): add a config option per network for bot mode
This commit is contained in:
Kuredant 2023-11-23 03:57:16 +09:00 committed by GitHub
parent c6c74c7f3b
commit f89a25d645
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 67 additions and 10 deletions

View file

@ -211,6 +211,10 @@ func (s *service) checkIfNetworkRestartNeeded(network *domain.IrcNetwork) error
restartNeeded = true
fieldsChanged = append(fieldsChanged, "bouncer addr")
}
if handler.BotMode != network.BotMode {
restartNeeded = true
fieldsChanged = append(fieldsChanged, "bot mode")
}
if handler.Auth.Mechanism != network.Auth.Mechanism {
restartNeeded = true
fieldsChanged = append(fieldsChanged, "auth mechanism")
@ -447,6 +451,7 @@ func (s *service) GetNetworksWithHealth(ctx context.Context) ([]domain.IrcNetwor
InviteCommand: n.InviteCommand,
BouncerAddr: n.BouncerAddr,
UseBouncer: n.UseBouncer,
BotMode: n.BotMode,
Connected: false,
Channels: []domain.ChannelWithHealth{},
ConnectionErrors: []string{},