From cfa6ad88702d03863110137165a3c361cf89809a Mon Sep 17 00:00:00 2001 From: ken restivo Date: Tue, 16 Sep 2014 22:01:16 -0700 Subject: [PATCH] Freenode at least has been observed in the field sending QUIT not PART when a user times out. --- src/irclj/process.clj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/irclj/process.clj b/src/irclj/process.clj index 97d06f1..76f6c3c 100644 --- a/src/irclj/process.clj +++ b/src/irclj/process.clj @@ -135,6 +135,11 @@ (alter irc update-in [:channels (first params) :users] dissoc nick)) (events/fire irc :part m)) +(defmethod process-line "QUIT" [{:keys [nick params] :as m} irc] + (dosync + (alter irc update-in [:channels (first params) :users] dissoc nick)) + (events/fire irc :part m)) + ;; Modes are complicated. Parsing them and trying to update a bunch of data properly ;; would be error-prone and pointless. Instead, we'll just let clients do that if ;; they really want to. However, we will go ahead and request the MODE from IRC