From 71eb2ed048d65fe3827ceb85710d5b94a7f1bf79 Mon Sep 17 00:00:00 2001 From: blackbeard420 Date: Thu, 6 Mar 2025 22:42:15 -0500 Subject: [PATCH] split parseMessage into handleMessage --- irc.go | 88 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/irc.go b/irc.go index d285258..e660cd1 100644 --- a/irc.go +++ b/irc.go @@ -247,51 +247,55 @@ func (c *Connection) parseMessage(line string) { c.NumericCallback(c, from, code, args) } } else { - t := strings.SplitN(args, ":", 2) - target := strings.TrimSpace(t[0]) - msg := "" - if len(t) > 1 { - msg = t[1] - } + c.handleMessage(args, cmd, from) + } + } +} - switch strings.ToLower(cmd) { - case "privmsg": - if target != c.curNick { - if c.PrivmsgCallback != nil { - c.PrivmsgCallback(c, target, from, msg) - } - } else { - if c.DirectCallback != nil { - c.DirectCallback(c, from, msg) - } - } - case "join": - c.addNick(msg, GetNick(from)) - if c.JoinCallback != nil { - c.JoinCallback(c, from, msg) - } - case "quit": - c.removeNickAllChans(GetNick(from)) - if c.QuitCallback != nil { - c.QuitCallback(c, from, msg) - } - case "part": - c.removeNick(target, GetNick(from)) - if c.PartCallback != nil { - c.PartCallback(c, from, target, msg) - } - case "nick": - if GetNick(from) == c.curNick { - c.curNick = msg - log.Printf("BOT NICK CHANGED TO: %s\n", c.curNick) - } - if c.NickCallback != nil { - c.NickCallback(c, from, msg) - } - default: - //log.Printf("unhandled command: %s %s %s", cmd, target, msg) +func (c *Connection) handleMessage(args, cmd, from string) { + t := strings.SplitN(args, ":", 2) + target := strings.TrimSpace(t[0]) + msg := "" + if len(t) > 1 { + msg = t[1] + } + + switch strings.ToLower(cmd) { + case "privmsg": + if target != c.curNick { + if c.PrivmsgCallback != nil { + c.PrivmsgCallback(c, target, from, msg) + } + } else { + if c.DirectCallback != nil { + c.DirectCallback(c, from, msg) } } + case "join": + c.addNick(msg, GetNick(from)) + if c.JoinCallback != nil { + c.JoinCallback(c, from, msg) + } + case "quit": + c.removeNickAllChans(GetNick(from)) + if c.QuitCallback != nil { + c.QuitCallback(c, from, msg) + } + case "part": + c.removeNick(target, GetNick(from)) + if c.PartCallback != nil { + c.PartCallback(c, from, target, msg) + } + case "nick": + if GetNick(from) == c.curNick { + c.curNick = msg + log.Printf("BOT NICK CHANGED TO: %s\n", c.curNick) + } + if c.NickCallback != nil { + c.NickCallback(c, from, msg) + } + default: + //log.Printf("unhandled command: %s %s %s", cmd, target, msg) } }