From f22db3b8ba23c66dce23602c5e948aa7b6d5af31 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 21 Jul 2015 17:06:35 +0200 Subject: Split a bit --- last.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 last.go (limited to 'last.go') diff --git a/last.go b/last.go new file mode 100644 index 0000000..c80e540 --- /dev/null +++ b/last.go @@ -0,0 +1,33 @@ +package main + +import ( + "container/ring" + "fmt" + "time" + + irc "github.com/fluffle/goirc/client" +) + +type Last struct{ Command } + +var buffer = ring.New(10) + +func (_ Last) Handle(conn *irc.Conn, line *irc.Line) { + buffer.Do(func(v interface{}) { + if v != nil { + l := v.(*irc.Line) + s := fmt.Sprintf("%v <%v> %v", + l.Time.Format(time.Kitchen), + l.Nick, l.Text()) + conn.Privmsg(line.Nick, s) + } + }) +} + +func init() { + Register("last", &Last{ + Command{ + Help: "Return last 10 messages", + }, + }) +} -- cgit v1.2.3