| 1 | ;;; -*-emacs-lisp-*- |
| 2 | ;;; |
| 3 | ;;; ERC configuration |
| 4 | |
| 5 | (setq erc-nick "mdw" |
| 6 | erc-user-full-name "Mark Wooding") |
| 7 | |
| 8 | (if (not (memq 'truncate erc-modules)) |
| 9 | (setq erc-modules (cons 'truncate erc-modules))) |
| 10 | |
| 11 | (setq erc-fill-column 76 |
| 12 | erc-timestamp-right-column 68 |
| 13 | erc-fill-prefix " " |
| 14 | erc-max-buffer-size (* 60 3000)) |
| 15 | |
| 16 | (load "~/.erc-local.el") |
| 17 | |
| 18 | (setq erc-track-exclude-types '("NICK" "JOIN" "PART")) |
| 19 | |
| 20 | (setq erc-auto-query 'buffer) |
| 21 | |
| 22 | (defun mdw-erc-turn-off-truncate-lines () |
| 23 | (setq truncate-lines nil |
| 24 | truncate-partial-with-windows nil |
| 25 | word-wrap t |
| 26 | wrap-prefix (concat (propertize " " 'face 'erc-prompt-face) |
| 27 | " "))) |
| 28 | (add-hook 'erc-mode-hook 'mdw-erc-turn-off-truncate-lines) |
| 29 | |
| 30 | (setq erc-autojoin t |
| 31 | erc-autojoin-domain-only nil |
| 32 | erc-autojoin-channels-alist |
| 33 | '(("irc.ssdis.loc" "#devel" "#jukebox" "#nextgen") |
| 34 | ("cam.irc.devel.ncipher.com" |
| 35 | "#devel" "#jukebox" "#nextgen" "#sec-team") |
| 36 | ("chiark.greenend.org.uk" "#chiark") |
| 37 | ("irc.distorted.org.uk" "#distorted" "#jukebox") |
| 38 | ("irc.hstg.corp.good.com" "#hstg"))) |
| 39 | |
| 40 | (defvar mdw-erc-auto-greet-bots-alist nil |
| 41 | "*Alist of (SERVER-REGEXP BOT-NICK MESSAGE-FORM). |
| 42 | Evaluate MESSAGE-FORM and sent to BOT-NICK when connected to a server which |
| 43 | matches SERVER-REGEXP.") |
| 44 | |
| 45 | (defun mdw-define-bot-greeting (server bot greeting) |
| 46 | "Define a new bot greeting." |
| 47 | (push (list server bot greeting) mdw-erc-auto-greet-bots-alist)) |
| 48 | (load "~/.erc-auth.el") |
| 49 | |
| 50 | (defun mdw-erc-auto-greet-bots (server nick) |
| 51 | "Send greeting message to bots." |
| 52 | (dolist (l mdw-erc-auto-greet-bots-alist) |
| 53 | (when (string-match (car l) server) |
| 54 | (let ((bot (cadr l)) |
| 55 | (message (caddr l))) |
| 56 | (erc-server-send (concat "PRIVMSG " bot " :" message)))))) |
| 57 | (add-hook 'erc-after-connect 'mdw-erc-auto-greet-bots) |
| 58 | |
| 59 | (defun erc-cmd-GREET () |
| 60 | "Send greeting messages, according to `mdw-erc-auto-greet-bots-alist'." |
| 61 | (mdw-erc-auto-greet-bots erc-session-server (erc-current-nick))) |