-(defun liece-command-mode+o (opers)
- "Send a MODE +o OPERS command."
- (interactive
- (let ((opers (liece-channel-get-operators)) oper
- (nicks (liece-channel-get-nicks))
- (completion-ignore-case t))
- (setq nicks (filter-elements
- nick nicks
- (not (liece-nick-member nick opers)))
- opers (liece-minibuffer-completing-read-multiple
- (_ "Assign operational privilege to: ") (list-to-alist nicks)))
- (list opers)))
- (let (ops)
- (dolist (oper opers)
- (push oper ops)
- (when (= (length ops) liece-compress-mode-length)
- (liece-send "MODE %s +%s %s"
- (liece-channel-real liece-current-channel)
- (string-times "o" liece-compress-mode-length)
- (string-join ops " "))
- (setq ops nil)))
- (if ops
- (liece-send "MODE %s +%s %s"
- (liece-channel-real liece-current-channel)
- (string-times "o" (length ops))
- (string-join ops " ")))))
-
-(defun liece-command-mode-o (opers)
- "Send a MODE -o OPERS command."
- (interactive
- (let ((completion-ignore-case t)
- (opers (liece-channel-get-operators)) oper nicks)
- (setq nicks (liece-minibuffer-completing-read-multiple
- (_ "Divest operational privilege from: ") (list-to-alist opers)))
- (list nicks)))
- (let (ops)
- (dolist (oper opers)
- (push oper ops)
- (when (= (length ops) liece-compress-mode-length)
- (liece-send "MODE %s -%s %s"
- (liece-channel-real liece-current-channel)
- (string-times "o" liece-compress-mode-length)
- (string-join ops " "))
- (setq ops nil)))
- (if ops
- (liece-send "MODE %s -%s %s"
- (liece-channel-real liece-current-channel)
- (string-times "o" (length ops))
- (string-join ops " ")))))
-
-(defun liece-command-mode+v (voices)
- "Send a MODE +v VOICES command."
+(defun liece-command-qualify-nicks (mode nicks val)
+ (liece-send
+ "MODE %s %c%s %s"
+ (liece-channel-real liece-current-channel)
+ (if val ?+ ?-) (make-string (length nicks) ?o)
+ (string-join nicks " ")))
+
+(defun liece-command-set-operators (nicks &optional arg)