summaryrefslogtreecommitdiff
path: root/src/message.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/message.clj')
-rw-r--r--src/message.clj12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/message.clj b/src/message.clj
index a8e0e9b..9f1380b 100644
--- a/src/message.clj
+++ b/src/message.clj
@@ -1,5 +1,6 @@
(ns message
- (:use user))
+ (:use user
+ utils))
;; Message parsing
@@ -26,7 +27,7 @@
(defn get-recips [content]
(filter
boolean
- (for [at-nick (re-seq recip-regex content)]
+ (for [at-nick (set (re-seq recip-regex content))]
(fetch-nick (.substring (.trim at-nick) 1)))))
(defn get-recips-from-msgs [msgs]
@@ -37,3 +38,10 @@
boolean
(for [r recips]
(fetch-nick (.substring (.trim r) 1))))))
+
+(def topic-regex #"(?:^|\s)#\w+")
+
+(defn get-topics [content]
+ (set
+ (for [r (re-seq topic-regex content)]
+ (lower-case (.substring r 1)))))