package main import ( "fmt" "strings" "dim13.org/urban" irc "github.com/fluffle/goirc/client" ) type Urban struct{} func (Urban) Handle(conn *irc.Conn, line *irc.Line) { if q := strings.SplitN(line.Text(), " ", 2); len(q) == 2 { if u, err := urban.QueryTop(q[1]); err != nil { conn.Notice(line.Target(), err.Error()) } else { if len(u.Definition) > maxLen { u.Definition = u.Definition[:maxLen] + "..." } s := fmt.Sprintf("%v: %v", u.Word, u.Definition) conn.Notice(line.Target(), s) } } } func (Urban) Help() string { return "Perform urban dictionary search" } func init() { Register("urban", &Urban{}) }