;;; Code:
(require 'riece-misc)
-(require 'riece-commands)
(require 'riece-filter) ;riece-default-handle-message
idle))
"\n")))))
+(defun riece-handle-319-message (prefix number name string)
+ (if (string-match (concat "^\\(" riece-user-regexp "\\) :") string)
+ (let ((user (match-string 1 string))
+ (channels
+ (mapconcat
+ (lambda (channel)
+ (if (string-match
+ (concat "^\\([@+]?\\)\\(" riece-channel-regexp "\\)")
+ channel)
+ (concat
+ (match-string 1 channel)
+ (riece-format-identity
+ (riece-make-identity (match-string 2 channel)
+ riece-server-name)
+ t))))
+ (split-string (substring string (match-end 0)) " ")
+ " ")))
+ (riece-insert-info
+ (list riece-dialogue-buffer riece-others-buffer)
+ (concat
+ (riece-concat-server-name
+ (format "%s: %s"
+ (riece-format-identity
+ (riece-make-identity user riece-server-name)
+ t)
+ channels))
+ "\n")))))
+
(defun riece-handle-351-message (prefix number name string)
(if (string-match "\\([^ ]+\\.[^ ]+\\) \\([^ ]+\\) :" string)
(riece-insert-info
(riece-channel-set-topic (riece-get-channel channel) topic)
(let* ((channel-identity (riece-make-identity channel
riece-server-name))
- (buffer (riece-channel-buffer-name channel-identity)))
+ (buffer (riece-channel-buffer channel-identity)))
(riece-insert-info buffer (concat visible " users, topic: "
topic "\n"))
(riece-insert-info
riece-dialogue-buffer)
(concat
(riece-concat-server-name
- (format "%s users on %s, topic: %s" visible
- (riece-format-identity channel-identity t) topic))
+ (format "%s: %s users, topic: %s"
+ (riece-format-identity channel-identity t) visible topic))
"\n"))))))
(defun riece-handle-324-message (prefix number name string)
(setq modes (cdr modes)))
(let* ((channel-identity (riece-make-identity channel
riece-server-name))
- (buffer (riece-channel-buffer-name channel-identity)))
+ (buffer (riece-channel-buffer channel-identity)))
(riece-insert-info buffer (concat "Mode: " mode-string "\n"))
(riece-insert-info
(if (and riece-channel-buffer-mode
(let* ((channel (match-string 1 string))
(message (substring string (match-end 0)))
(channel-identity (riece-make-identity channel riece-server-name))
- (buffer (riece-channel-buffer-name channel-identity)))
+ (buffer (riece-channel-buffer channel-identity)))
(if remove
(riece-channel-set-topic (riece-get-channel channel) nil)
(riece-channel-set-topic (riece-get-channel channel) message)
(let* ((channel (match-string 1 string))
(user (substring string (match-end 0)))
(channel-identity (riece-make-identity channel riece-server-name))
- (buffer (riece-channel-buffer-name channel-identity)))
+ (buffer (riece-channel-buffer channel-identity)))
(riece-insert-info buffer (concat "Inviting " user "\n"))
(riece-insert-info
(if (and riece-channel-buffer-mode
(flag (match-string 8 string))
(hops (match-string 9 string))
(name (substring string (match-end 0)))
- (buffer (riece-channel-buffer-name
- (riece-make-identity channel riece-server-name)))
+ (buffer (riece-channel-buffer (riece-make-identity
+ channel riece-server-name)))
(info (format "%10s = %s (%s) [%s, %s, %s hops, on %s]"
(concat
(if (memq flag '(?@ ?+))