(defun erc-cmd-OPME ()
  "request a chanop op to me"
  (erc-message "PRIVMSG"
               (format "chanserv op %s %s"
                       (erc-default-target)
                       (erc-current-nick)) nil))
 
(defun erc-cmd-DEOPME ()
  "Deop myself from current channel"
  (erc-cmd-DEOP (format "%s" (erc-current-nick))))
 
(defun erc-cmd-BAN (nick)
  (let* ((chan (erc-default-target))
         (who (erc-get-server-user nick))
         (host (erc-server-user-host who))
         (user (erc-server-user-login who)))
    (erc-send-command (format "MODE %s +b *!*@%s" chan host))))
  
(defun erc-cmd-KICKBAN (nick &rest reason)
  (setq reason (mapconcat #'identity reason " "))
  (and (string= reason "")
       (setq reason nil))
  (erc-cmd-BAN nick)
  (erc-cmd-KICK
   (erc-default-target)
   nick
   (or reason
       ".")))
 
(defun erc-cmd-FUCK (nick &rest reason)
  (erc-cmd-OPME)
  (sleep-for 0.5)
  (apply #'erc-cmd-KICKBAN nick reason)
  (erc-cmd-DEOPME))