From: Mark Wooding Date: Wed, 22 Jan 2014 15:57:11 +0000 (+0000) Subject: dot/ercrc.el: New command `IRCOP' for being an IRC operator. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/profile/commitdiff_plain/61181450bc063b30e5d0208661d0b9f541119f4b?ds=inline dot/ercrc.el: New command `IRCOP' for being an IRC operator. Looks up credentials in a shiny new alist. --- diff --git a/dot/ercrc.el b/dot/ercrc.el index 9ed001a..a84d63f 100644 --- a/dot/ercrc.el +++ b/dot/ercrc.el @@ -42,12 +42,22 @@ (defvar mdw-erc-auto-greet-bots-alist nil Evaluate MESSAGE-FORM and sent to BOT-NICK when connected to a server which matches SERVER-REGEXP.") +(defvar mdw-erc-ircop-alist nil + "*Alist of (SERVER-REGEXP ACCT PASSWD). +Login details for claiming server admin rights.") + (defun mdw-define-bot-greeting (server bot greeting) "Define a new bot greeting." (setq mdw-erc-auto-greet-bots-alist (cons (list server bot greeting) (remove* server mdw-erc-auto-greet-bots-alist :test #'string= :key #'car)))) +(defun mdw-add-ircop-credentials (server acct passwd) + "Define a new set of `ircop' credentials." + (setq mdw-erc-ircop-alist + (cons (list server acct passwd) + (remove* server mdw-erc-ircop-alist + :test #'string= :key #'car))))) (load "~/.erc-auth.el") (defun mdw-assoc-regexp (regexp alist) @@ -70,3 +80,11 @@ (add-hook 'erc-after-connect 'mdw-erc-auto-greet-bots) (defun erc-cmd-GREET () "Send greeting messages, according to `mdw-erc-auto-greet-bots-alist'." (mdw-erc-auto-greet-bots erc-session-server (erc-current-nick))) + +(defun erc-cmd-IRCOP () + "Claim `ircop' privileges." + (let ((a (mdw-assoc-regexp erc-session-server mdw-erc-ircop-alist))) + (when a + (let ((acct (cadr a)) + (passwd (caddr a))) + (erc-server-send (concat "OPER " acct " " passwd))))))