diff --git a/irc/idletimer.go b/irc/idletimer.go index e548d413..4aceeb6a 100644 --- a/irc/idletimer.go +++ b/irc/idletimer.go @@ -8,6 +8,7 @@ import ( "sync" "time" + "github.com/goshuirc/irc-go/ircfmt" "github.com/oragono/oragono/irc/caps" ) @@ -254,8 +255,7 @@ func (nt *NickTimer) Stop() { } func (nt *NickTimer) sendWarning() { - baseNotice := "Nickname is reserved; you must change it or authenticate to NickServ within %v" - nt.client.Notice(fmt.Sprintf(nt.client.t(baseNotice), nt.timeout)) + nt.client.Send(nil, "NickServ", "NOTICE", nt.client.Nick(), fmt.Sprintf(ircfmt.Unescape(nt.client.t(nsTimeoutNotice)), nt.timeout)) } func (nt *NickTimer) processTimeout() { diff --git a/irc/nickserv.go b/irc/nickserv.go index 2a2abcfb..f852b73a 100644 --- a/irc/nickserv.go +++ b/irc/nickserv.go @@ -26,6 +26,14 @@ func nsEnforceEnabled(config *Config) bool { return servCmdRequiresNickRes(config) && config.Accounts.NickReservation.AllowCustomEnforcement } +var ( + // ZNC's nickserv module will not detect this unless it is: + // 1. sent with prefix `nickserv` + // 2. contains the string "identify" + // 3. contains at least one of several other magic strings ("msg" works) + nsTimeoutNotice = `This nickname is reserved. Please login within %v (using $b/msg NickServ IDENTIFY $b or SASL)` +) + const nickservHelp = `NickServ lets you register and login to an account. To see in-depth help for a specific NickServ command, try: