summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/papod.clj14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/papod.clj b/src/papod.clj
index 8b7d4d5..860e7ef 100644
--- a/src/papod.clj
+++ b/src/papod.clj
@@ -2026,9 +2026,19 @@
(-> (update 0 assoc
:papod.event/target-nick target))))))
;; DELIVER
- (let [out-tags (cond-> []
+ (let [client-tag-pairs
+ (->> (or tags {})
+ (filter (fn [[k _]]
+ (and (string/starts-with? k "+")
+ (not= k "+reply"))))
+ (sort-by first))
+ out-tags (cond-> []
reply-id
- (conj (str "+reply=" reply-id)))
+ (conj (str "+reply=" reply-id))
+ (seq client-tag-pairs)
+ (into (map (fn [[k v]]
+ (str k "=" v))
+ client-tag-pairs)))
raw (str ":" nick " PRIVMSG "
target " " content)
tagged (tag-line-with msg-id out-tags raw)