diff options
| -rw-r--r-- | src/papod.clj | 14 |
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) |
