Преглед на файлове

Merge pull request #397 from slingamn/znc

work around znc's broken nickserv support
tags/v1.0.0-rc1
Daniel Oaks преди 5 години
родител
ревизия
329183d083
No account linked to committer's email address
променени са 2 файла, в които са добавени 10 реда и са изтрити 2 реда
  1. 2
    2
      irc/idletimer.go
  2. 8
    0
      irc/nickserv.go

+ 2
- 2
irc/idletimer.go Целия файл

@@ -8,6 +8,7 @@ import (
8 8
 	"sync"
9 9
 	"time"
10 10
 
11
+	"github.com/goshuirc/irc-go/ircfmt"
11 12
 	"github.com/oragono/oragono/irc/caps"
12 13
 )
13 14
 
@@ -254,8 +255,7 @@ func (nt *NickTimer) Stop() {
254 255
 }
255 256
 
256 257
 func (nt *NickTimer) sendWarning() {
257
-	baseNotice := "Nickname is reserved; you must change it or authenticate to NickServ within %v"
258
-	nt.client.Notice(fmt.Sprintf(nt.client.t(baseNotice), nt.timeout))
258
+	nt.client.Send(nil, "NickServ", "NOTICE", nt.client.Nick(), fmt.Sprintf(ircfmt.Unescape(nt.client.t(nsTimeoutNotice)), nt.timeout))
259 259
 }
260 260
 
261 261
 func (nt *NickTimer) processTimeout() {

+ 8
- 0
irc/nickserv.go Целия файл

@@ -26,6 +26,14 @@ func nsEnforceEnabled(config *Config) bool {
26 26
 	return servCmdRequiresNickRes(config) && config.Accounts.NickReservation.AllowCustomEnforcement
27 27
 }
28 28
 
29
+var (
30
+	// ZNC's nickserv module will not detect this unless it is:
31
+	// 1. sent with prefix `nickserv`
32
+	// 2. contains the string "identify"
33
+	// 3. contains at least one of several other magic strings ("msg" works)
34
+	nsTimeoutNotice = `This nickname is reserved. Please login within %v (using $b/msg NickServ IDENTIFY <password>$b or SASL)`
35
+)
36
+
29 37
 const nickservHelp = `NickServ lets you register and login to an account.
30 38
 
31 39
 To see in-depth help for a specific NickServ command, try:

Loading…
Отказ
Запис