mirror of https://github.com/fluffle/goirc
Allow renicking to be customised. (Closes #14)
This commit is contained in:
parent
a4028ee669
commit
b39e4717af
|
@ -20,6 +20,9 @@ type Conn struct {
|
||||||
Me *state.Nick
|
Me *state.Nick
|
||||||
Network string
|
Network string
|
||||||
|
|
||||||
|
// Replaceable function to customise the 433 handler's new nick
|
||||||
|
NewNick func(string) string
|
||||||
|
|
||||||
// Event handler registry and dispatcher
|
// Event handler registry and dispatcher
|
||||||
ER event.EventRegistry
|
ER event.EventRegistry
|
||||||
ED event.EventDispatcher
|
ED event.EventDispatcher
|
||||||
|
@ -97,6 +100,7 @@ func Client(nick, ident, name string,
|
||||||
SSLConfig: nil,
|
SSLConfig: nil,
|
||||||
PingFreq: 3 * time.Minute,
|
PingFreq: 3 * time.Minute,
|
||||||
Flood: false,
|
Flood: false,
|
||||||
|
NewNick: func(s string) string { return s + "_" },
|
||||||
badness: 0,
|
badness: 0,
|
||||||
lastsent: time.Now(),
|
lastsent: time.Now(),
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ func (conn *Conn) h_001(line *Line) {
|
||||||
// Handler to deal with "433 :Nickname already in use"
|
// Handler to deal with "433 :Nickname already in use"
|
||||||
func (conn *Conn) h_433(line *Line) {
|
func (conn *Conn) h_433(line *Line) {
|
||||||
// Args[1] is the new nick we were attempting to acquire
|
// Args[1] is the new nick we were attempting to acquire
|
||||||
neu := line.Args[1] + "_"
|
neu := conn.NewNick(line.Args[1])
|
||||||
conn.Nick(neu)
|
conn.Nick(neu)
|
||||||
// if this is happening before we're properly connected (i.e. the nick
|
// if this is happening before we're properly connected (i.e. the nick
|
||||||
// we sent in the initial NICK command is in use) we will not receive
|
// we sent in the initial NICK command is in use) we will not receive
|
||||||
|
|
Loading…
Reference in New Issue