1
0
Fork 0
mirror of https://github.com/fluffle/goirc synced 2026-01-19 16:28:05 +00:00

Add an config param allowing to delay renicking if the previously tried nick was already in use

This commit is contained in:
Tamás Solymos 2026-01-05 17:24:43 +00:00 committed by Alex Bee
parent de089e2f58
commit 75f575eb20
2 changed files with 6 additions and 0 deletions

View file

@ -112,6 +112,9 @@ type Config struct {
// See DefaultNewNick implementation below for details.
NewNick func(string) string
// A delay in NewNick before actually sending the new nick command. Default is not set, so it's 0.
ReNickDelay time.Duration
// Client->server ping frequency, in seconds. Defaults to 3m.
// Set to 0 to disable client-side pings.
PingFreq time.Duration

View file

@ -310,6 +310,9 @@ func (conn *Conn) h_001(line *Line) {
// Handler to deal with "433 :Nickname already in use"
func (conn *Conn) h_433(line *Line) {
// Delay trying again if a non-zero delay was set
time.Sleep(conn.cfg.ReNickDelay)
// Args[1] is the new nick we were attempting to acquire
me := conn.Me()
neu := conn.cfg.NewNick(line.Args[1])