summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <ds@doozer.de>2017-03-06 11:14:21 +0100
committerDimitri Sokolyuk <ds@doozer.de>2017-03-06 11:14:21 +0100
commit01d5301e77b4054223d21289a17ace48539cbeb6 (patch)
treeba7e18b7ca9c513b82eb2b94e40a2dcda9dfe263
parent64f84d0b79ef09b1d6f7f8cc94f9108bdcdb2ae0 (diff)
Drop watchlist
-rw-r--r--main.go3
-rw-r--r--rate.go42
2 files changed, 0 insertions, 45 deletions
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]++
-}