1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-08-12 09:00:54 +00:00

Add Health to /stats, add irc reconnect

This commit is contained in:
Kane York 2016-06-02 08:16:16 -07:00
parent 88b356177a
commit d49c88a222
4 changed files with 63 additions and 9 deletions

View file

@ -88,15 +88,38 @@ const AuthChannelName = "frankerfacezauthorizer"
const AuthChannel = "#" + AuthChannelName
const AuthCommand = "AUTH"
var authIrcConnection *irc.Conn
// is_init_func
func ircConnection() {
c := irc.SimpleClient("justinfan123")
c.Config().Server = "irc.chat.twitch.tv"
authIrcConnection = c
var reconnect func(conn *irc.Conn)
connect := func(conn *irc.Conn) {
err := c.Connect()
if err != nil {
log.Println("irc: failed to connect to IRC:", err)
go reconnect(conn)
}
}
reconnect = func(conn *irc.Conn) {
time.Sleep(5 * time.Second)
log.Println("irc: Reconnecting…")
connect(conn)
}
c.HandleFunc(irc.CONNECTED, func(conn *irc.Conn, line *irc.Line) {
conn.Join(AuthChannel)
})
c.HandleFunc(irc.DISCONNECTED, func(conn *irc.Conn, line *irc.Line) {
log.Println("irc: Disconnected. Reconnecting in 5 seconds.")
go reconnect(conn)
})
c.HandleFunc(irc.PRIVMSG, func(conn *irc.Conn, line *irc.Line) {
channel := line.Args[0]
msg := line.Args[1]
@ -115,11 +138,7 @@ func ircConnection() {
submitAuth(submittedUser, submittedChallenge)
})
err := c.ConnectTo("irc.chat.twitch.tv")
if err != nil {
log.Fatalln("Cannot connect to IRC:", err)
}
connect(c)
}
func submitAuth(user, challenge string) {