- ("PING"
- (lirc-send-msg
- (lirc-msg nil nil "PONG" (lirc-msg-params msg))))
- ;; ((rx (= 3 digit))
- ;; (lirc-display-string (string-join (cdr (lirc-msg-params msg)) " ")))
- ((and "JOIN" (let (rx (: (literal lirc-nick) "!" (* anychar))) (lirc-msg-src msg)))
- (let ((channel (car (lirc-msg-params msg))))
- (setq lirc-current-channel channel)
- (add-to-list 'lirc-channel-list channel)
- (lirc-render-prompt)))
- (_
- (lirc-display-string (lirc-msg->string msg))))))
+ ("PING"
+ (lirc-send-msg
+ (lirc-msg nil nil "PONG" (lirc-msg-params msg))))
+ ;; ((rx (= 3 digit))
+ ;; (lirc-display-string (string-join (cdr (lirc-msg-params msg)) " ")))
+
+ ("353" ; NAMEREPLY
+ (let* ((params (lirc-msg-params msg))
+ (channel (elt params 2))
+ (names (split-string (elt params 3))))
+ (apply #'lirc-add-channel-users (cons channel names))))
+
+ ((and "JOIN"
+ (guard (equal lirc-nick (lirc-msg-src msg))))
+ (let ((channel (car (lirc-msg-params msg))))
+ (setq lirc-current-channel channel)
+ (lirc-add-channel channel)
+ (lirc-render-prompt)))
+
+ ("JOIN"
+ (let ((channel (car (lirc-msg-params msg)))
+ (nick (lirc-msg-src msg)))
+ (lirc-add-channel-users channel nick)))
+
+ ((and "PART"
+ (guard (equal lirc-nick (lirc-msg-src msg))))
+ (setq lirc-current-channel nil)
+ (lirc-del-channel (car (lirc-msg-params msg))))
+
+ ("PART"
+ (let ((channel (car (lirc-msg-params msg)))
+ (nick (lirc-msg-src msg)))
+ (lirc-del-channel-users channel nick)))
+
+ ((and "NICK"
+ (guard (equal lirc-nick (lirc-msg-src msg))))
+ (setq lirc-nick (car (lirc-msg-params msg)))
+ (lirc-display-string (concat "*** Set nick to " lirc-nick)))
+
+ ("PRIVMSG"
+ (let ((nick (lirc-msg-src msg))
+ (channel (car (lirc-msg-params msg)))
+ (text (cadr (lirc-msg-params msg))))
+ (lirc-display-string (concat channel " <" nick "> " text))))
+ (_
+ (lirc-display-string (lirc-msg->string msg))))))