summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/main.go b/main.go
index 2f9279b..9cf4fd4 100644
--- a/main.go
+++ b/main.go
@@ -7,6 +7,7 @@ import (
"log"
"strings"
"time"
+ "unicode"
irc "github.com/fluffle/goirc/client"
)
@@ -42,6 +43,16 @@ func (n *Notify) Write(p []byte) (int, error) {
return len(p), nil
}
+func noSpaceCompare(a, b string) bool {
+ dropSpaces := func(r rune) rune {
+ if unicode.IsSpace(r) {
+ return -1
+ }
+ return r
+ }
+ return strings.Map(dropSpaces, a) == strings.Map(dropSpaces, b)
+}
+
func privmsg(room string) irc.HandlerFunc {
var (
last = make(map[string]string)
@@ -59,7 +70,7 @@ func privmsg(room string) irc.HandlerFunc {
case isFlood(t):
log.Println("flood", line.Nick)
conn.Kick(room, line.Nick)
- case strings.TrimSpace(t) == strings.TrimSpace(last[line.Nick]):
+ case noSpaceCompare(t, last[line.Nick]):
log.Println("kick", line.Nick)
conn.Kick(room, line.Nick)
case strings.HasPrefix(t, "s"):