summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/main.go b/main.go
index 3e63b63..105893a 100644
--- a/main.go
+++ b/main.go
@@ -7,6 +7,10 @@ import (
"log"
"strings"
+ "dim13.org/bot/internal/feeds"
+ "dim13.org/bot/internal/flood"
+ "dim13.org/bot/internal/href"
+ "dim13.org/bot/internal/re"
irc "github.com/fluffle/goirc/client"
lru "github.com/hashicorp/golang-lru"
)
@@ -49,20 +53,16 @@ func privmsg(room string) irc.HandlerFunc {
}
}()
t := line.Text()
- l, okLast := last.Get(line.Nick)
switch {
case line.Nick == conn.Me().Nick:
// ignore self
- case isFlood(t):
+ case flood.Is(t):
log.Println("flood", line.Nick)
conn.Kick(room, line.Nick)
- case okLast && noSpaceCompare(t, l.(string)):
- log.Println("kick", line.Nick)
- conn.Kick(room, line.Nick)
case strings.HasPrefix(t, "s"):
global := strings.HasSuffix(t, "g")
if tofix, ok := last.Get(line.Nick); ok {
- fixed, err := re(tofix.(string), t[1:], global)
+ fixed, err := re.Replace(tofix.(string), t[1:], global)
if err == nil && fixed != tofix {
log.Println("regexp", t)
fmt.Fprintf(newNotify(conn, line.Target()), "%v meant to say: %s", line.Nick, fixed)
@@ -72,11 +72,11 @@ func privmsg(room string) irc.HandlerFunc {
}
fallthrough
default:
- for _, v := range getLinks(t) {
+ for _, v := range href.Links(t) {
title, ok := titles.Get(v)
if !ok {
var err error
- title, err = getTitle(v)
+ title, err = href.Title(v)
if err != nil {
log.Println(v, err)
}
@@ -121,7 +121,7 @@ func main() {
conn.HandleFunc(irc.CONNECTED, func(conn *irc.Conn, _ *irc.Line) {
conn.Join(*room)
- watch(newNotify(conn, *room), feeds)
+ feeds.Watch(newNotify(conn, *room), feeds.Feeds)
})
conn.HandleBG(irc.PRIVMSG, privmsg(*room))