summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-07-07 18:05:47 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-07-07 18:05:47 +0200
commite94e82ec366808e1ec193323aa705b99f9eaab3f (patch)
treebb42ea3c26a0bef66dd70e5ec6c90b1b59f8d44d /main.go
parent7b96813780291a8d49b86469c4bd1290b253366d (diff)
Optimize
Diffstat (limited to 'main.go')
-rw-r--r--main.go28
1 files changed, 14 insertions, 14 deletions
diff --git a/main.go b/main.go
index ab058aa..72cf552 100644
--- a/main.go
+++ b/main.go
@@ -49,38 +49,38 @@ func theo(conn *irc.Conn, line *irc.Line) {
}
func news(conn *irc.Conn, line *irc.Line) {
- n := 0
+ n := FetchNews()
if line.Public() {
- n = 3
+ n = n[:3]
}
- for _, s := range FetchNews(n) {
+ for _, s := range n {
conn.Privmsg(line.Target(), s)
}
}
func privmsg(conn *irc.Conn, line *irc.Line) {
log.Println(line)
-
+ txt := line.Text()
if line.Public() && line.Nick != conn.Me().Nick {
buffer.Value = line
buffer = buffer.Next()
}
-
- if f := strings.Fields(line.Text()); len(f) > 0 {
+ // lookup command
+ if f := strings.Fields(txt); len(f) > 0 {
if c, ok := cmds[f[0]]; ok {
c(conn, line)
}
}
- if strings.Contains(line.Text(), "http") {
- s := line.Text()
- if i := strings.Index(s, "http"); i >= 0 {
- s = s[i:]
+ // extract single link and fetch title
+ if strings.Contains(txt, "http") {
+ if i := strings.Index(txt, "http"); i >= 0 {
+ txt = txt[i:]
}
- if i := strings.IndexAny(s, " ,"); i > 0 {
- s = s[:i]
+ if i := strings.IndexAny(txt, " ,"); i > 0 {
+ txt = txt[:i]
}
- if t, err := FetchTitle(s); err == nil {
- conn.Privmsg(line.Target(), "Title: "+t)
+ if t, err := FetchTitle(txt); err == nil {
+ conn.Privmsg(line.Target(), t)
}
}
}