summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--command.go8
-rw-r--r--flood.go2
-rw-r--r--main.go2
3 files changed, 8 insertions, 4 deletions
diff --git a/command.go b/command.go
index f576b13..f2f085b 100644
--- a/command.go
+++ b/command.go
@@ -48,8 +48,12 @@ func Dispatch(conn *irc.Conn, line *irc.Line) {
if f := strings.Fields(line.Text()); len(f) > 0 {
cmd := strings.ToLower(f[0])
if c, ok := commands[cmd]; ok {
- if c.WithArgs(len(f)) &&
- !(line.Public() && c.Timeout(line.Nick)) {
+ if line.Public() && c.Timeout(line.Nick) {
+ log.Println("timeout", line.Nick)
+ conn.Kick(*room, line.Nick, "timeout")
+ return
+ }
+ if c.WithArgs(len(f)) {
log.Println(line.Nick, f)
c.Handle(conn, line)
}
diff --git a/flood.go b/flood.go
index 198ee3b..59949e7 100644
--- a/flood.go
+++ b/flood.go
@@ -23,7 +23,7 @@ func MedianLength(v []string) int {
func DetectFlood(conn *irc.Conn, line *irc.Line) {
if f := strings.Fields(line.Text()); len(f) > 8 {
if m := MedianLength(f); m < 2 {
- log.Println("kick", line.Nick)
+ log.Println("flood", line.Nick)
conn.Kick(*room, line.Nick, "flood")
}
}
diff --git a/main.go b/main.go
index 1317cb1..8e2c086 100644
--- a/main.go
+++ b/main.go
@@ -43,8 +43,8 @@ func main() {
go Dispatch(conn, line)
go ExtractLinks(conn, line)
go ExtractRFC(conn, line)
- go DetectFlood(conn, line)
if line.Public() && line.Nick != conn.Me().Nick {
+ go DetectFlood(conn, line)
Push(line)
Count(line.Nick)
}