From 090d2fae173d241ee93966e6c6aa95e7d0ec9e86 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 6 Jul 2019 18:34:01 +0200 Subject: simplify --- main.go | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index a3e9f20..f4f320e 100644 --- a/main.go +++ b/main.go @@ -9,6 +9,24 @@ import ( irc "github.com/fluffle/goirc/client" ) +type notify struct { + conn *irc.Conn + room string +} + +func newNotify(conn *irc.Conn, room string) *notify { + return ¬ify{conn: conn, room: room} +} + +func (n *notify) Write(p []byte) (int, error) { + n.conn.Notice(n.room, limitString(p).String()) + return len(p), nil +} + +func (n *notify) Kick(nick string, message ...string) { + n.conn.Kick(n.room, nick, message...) +} + func main() { node := flag.String("node", "irc.freenode.org", "IRC server") notls := flag.Bool("notls", false, "disable TLS") @@ -30,14 +48,13 @@ func main() { close(done) }) + n := newNotify(conn, *room) conn.HandleFunc(irc.CONNECTED, func(conn *irc.Conn, _ *irc.Line) { conn.Join(*room) - feeds.Watch(newNotify(conn, *room), feeds.Feeds) + feeds.Watch(n, feeds.Feeds) }) - r := newRoom(*room, 100) - - conn.HandleBG(irc.PRIVMSG, r) + conn.HandleBG(irc.PRIVMSG, newRoom(n)) conn.HandleFunc(irc.KICK, func(conn *irc.Conn, _ *irc.Line) { conn.Join(*room) -- cgit v1.2.3