From 01d5301e77b4054223d21289a17ace48539cbeb6 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 6 Mar 2017 11:14:21 +0100 Subject: Drop watchlist --- main.go | 3 --- rate.go | 42 ------------------------------------------ 2 files changed, 45 deletions(-) delete mode 100644 rate.go diff --git a/main.go b/main.go index ea85c63..802fc8f 100644 --- a/main.go +++ b/main.go @@ -5,7 +5,6 @@ import ( "fmt" "log" "strings" - "time" irc "github.com/fluffle/goirc/client" ) @@ -41,7 +40,6 @@ func kicker(conn *irc.Conn, channel string) chan string { func privmsg(note, kick chan string) irc.HandlerFunc { last := NewLast(10) links := linker(note) - wl := NewWatchList(2, time.Second) return func(conn *irc.Conn, line *irc.Line) { switch t := line.Text(); { case isFlood(t): @@ -61,7 +59,6 @@ func privmsg(note, kick chan string) irc.HandlerFunc { default: links <- t last.Push(line.Time, line.Nick, t) - wl.Add(kick, line.Nick) } } } diff --git a/rate.go b/rate.go deleted file mode 100644 index 0ab03ac..0000000 --- a/rate.go +++ /dev/null @@ -1,42 +0,0 @@ -package main - -import ( - "log" - "sync" - "time" -) - -// TODO rate limiting - -type WatchList struct { - sync.Mutex - n int - d time.Duration - list map[string]int -} - -func NewWatchList(n int, d time.Duration) WatchList { - return WatchList{n: n, d: d, list: make(map[string]int)} -} - -func (w WatchList) Add(kick chan string, nick string) { - w.Lock() - defer w.Unlock() - - if _, ok := w.list[nick]; !ok { - go func() { - <-time.After(w.d) - w.Lock() - defer w.Unlock() - log.Println(w.list[nick], "clear", nick) - delete(w.list, nick) - }() - } - - log.Println(w.list[nick], "hit", nick) - if w.list[nick] > w.n { - kick <- nick - } - - w.list[nick]++ -} -- cgit v1.2.3