(defun lurk-get-context-users (name)
(gethash name lurk-contexts))
+(defun lurk-context-known-p (name)
+ (not (eq (gethash name lurk-contexts 0) 0)))
+
(defun lurk-add-context-users (context users)
(puthash context
- (append users
- (gethash context lurk-contexts))
+ (cl-union users
+ (gethash context lurk-contexts))
lurk-contexts))
(defun lurk-del-context-user (context user)
(let* ((params (lurk-msg-params msg))
(channel (elt params 2))
(names (split-string (elt params 3))))
- (lurk-add-context-users channel names)))
+ (if (lurk-context-known-p channel)
+ (lurk-add-context-users channel names)
+ (lurk-display-notice nil "Users in " channel ": " (string-join names " ")))))
("366" ; ENDOFNAMES
(let* ((params (lurk-msg-params msg))
(channel (elt params 1)))
- (lurk-display-notice
- channel
- (lurk--as-string (length (lurk-get-context-users channel)))
- " users in " channel)))
+ (if (lurk-context-known-p channel)
+ (lurk-display-notice
+ channel
+ (lurk--as-string (length (lurk-get-context-users channel)))
+ " users in " channel)
+ (lurk-display-notice nil "End of " channel " names list."))))
("331"
(let* ((params (lurk-msg-params msg))
" " (number-to-string port) "]")))
(lurk-display-notice nil "(Modify the `lurk-networks' variable to add more.)"))
-(defun lurk-command-quit (params)
- (let ((quit-msg (if params (string-join params " ") nil)))
- (lurk-send-msg (lurk-msg nil nil "QUIT" quit-msg))))
-
(defun lurk-command-part (params)
(let ((channel (if params (car params) lurk-current-context)))
(if channel
(lurk-display-notice nil "Usage: /version <nick>")))
(defun lurk-command-quit (params)
- (let ((quit-msg (if params (string-join parms " ") lurk-default-quit-msg)))
+ (let ((quit-msg (if params (string-join params " ") lurk-default-quit-msg)))
(lurk-send-msg (lurk-msg nil nil "QUIT" quit-msg))))
(defun lurk-command-nick (params)