summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-07-07 13:58:52 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-07-07 13:58:52 +0200
commite16708c83866e2f5cfddb4d17f58b297419b19d3 (patch)
tree0e0328409d137a10bfecff4e0aa2ca16964e8a1c /main.go
parent4db4bdb5343b184e0d905670219e9bdfbfafb726 (diff)
Use flags
Diffstat (limited to 'main.go')
-rw-r--r--main.go32
1 files changed, 17 insertions, 15 deletions
diff --git a/main.go b/main.go
index 1517f2d..bfef975 100644
--- a/main.go
+++ b/main.go
@@ -2,6 +2,7 @@ package main
import (
"container/ring"
+ "flag"
"fmt"
"log"
"strconv"
@@ -12,10 +13,10 @@ import (
"github.com/thoj/go-ircevent"
)
-const (
- server = "irc.rusnet.org.ru:6660"
- room = "#lor"
- name = "theo"
+var (
+ server = flag.String("server", "irc.rusnet.org.ru:6660", "IRC Server")
+ room = flag.String("room", "#lor", "IRC Channel")
+ name = flag.String("name", "theo", "Bot Name")
)
var (
@@ -42,15 +43,15 @@ func metar(e *irc.Event, arg []string) {
conn := e.Connection
metar, err := FetchMetar(arg[0])
if err != nil {
- conn.Privmsg(room, err.Error())
+ conn.Privmsg(*room, err.Error())
} else {
- conn.Privmsg(room, metar[1])
+ conn.Privmsg(*room, metar[1])
}
}
func help(e *irc.Event, _ []string) {
for _, m := range dscr {
- e.Connection.Privmsg(room, m)
+ e.Connection.Privmsg(*room, m)
}
}
@@ -65,11 +66,11 @@ func news(e *irc.Event, arg []string) {
}
if time.Since(lastNews) > time.Minute {
for _, n := range FetchNews(n) {
- conn.Privmsg(room, n)
+ conn.Privmsg(*room, n)
lastNews = time.Now()
}
} else {
- conn.Privmsg(room, e.Nick+", me just said it")
+ conn.Privmsg(*room, e.Nick+", me just said it")
}
}
@@ -93,8 +94,8 @@ func privmsg(e *irc.Event) {
go cmd(e, arg[1:])
}
default:
- if strings.Contains(msg, name) {
- conn.Privmsg(room, theo.Theo())
+ if strings.Contains(msg, *name) {
+ conn.Privmsg(*room, theo.Theo())
}
buffer.Value = e
buffer = buffer.Next()
@@ -102,6 +103,7 @@ func privmsg(e *irc.Event) {
}
func init() {
+ flag.Parse()
register("last", last, "shows last 10 messages")
register("metar", metar, "<arg> shows weather report")
register("help", help, "shows this message")
@@ -118,14 +120,14 @@ func init() {
// PRIVMSG
func main() {
- con := irc.IRC(name, name)
- err := con.Connect(server)
+ con := irc.IRC(*name, *name)
+ err := con.Connect(*server)
if err != nil {
log.Fatal(err)
}
con.AddCallback("001", func(e *irc.Event) {
- e.Connection.Join(room)
- log.Println("joined", room)
+ e.Connection.Join(*room)
+ log.Println("joined", *room)
})
con.AddCallback("PRIVMSG", privmsg)
con.Loop()