|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
;; -*- lexical-binding: nil; -*-
;; This file:
;; http://angg.twu.net/.emacs.erc.html
;; http://angg.twu.net/.emacs.erc
;; (find-angg ".emacs.erc")
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;;
;; (defun e () (interactive) (find-angg ".emacs.erc"))
;; (find-angg ".emacs" "erc")
;;; ___ _ _
;;; / _ \| | __| |_
;;; | | | | |/ _` (_)
;;; | |_| | | (_| |_
;;; \___/|_|\__,_(_)
;;;
'(
;; «.erc-freenode-join» (to "erc-freenode-join")
;; «.ee-send-to-erc-channel» (to "ee-send-to-erc-channel")
;; «.find-fsbot-answer» (to "find-fsbot-answer")
;; (find-fline "~/usrc/erc/")
;; (add-to-list 'load-path "~/usrc/erc/")
;; (add-to-list 'load-path "~/usrc/erc-5.0/")
;; http://www.emacswiki.org/cgi-bin/wiki/ErcCvsFeatures
(setq erc-nick "edrx"
erc-user-full-name "Eduardo Ochs <http://angg.twu.net/>"
erc-prompt-for-password nil
erc-send-whitespace-lines t
erc-auto-query t
)
;; (setq erc-autojoin-channels-alist
;; '(("freenode.net"
;; "#emacs"
;; "#debian-br"
;; )))
(defun erc-freenode ()
(interactive)
(erc-select :server "irc.freenode.net" :port 6667))
(defun erc-bitlbee ()
(interactive)
(erc-select :server "im.bitlbee.org" :port 6667))
;; Btw, my uin is 250604577,
;; my jabber id is edrx@jabber.org
;; my MSN is eduardoochs@hotmail.com
;; Currently this doesn't work due to an erc bug
(defun erc-freenode2 ()
(interactive)
(erc-select :nick '("edrx" "edrx2" "edrx3")
:server "irc.freenode.net" :port 6667))
;; «erc-freenode-join» (to ".erc-freenode-join")
;; (to "rcirc")
;;
' (progn
(freenode-join "#emacs")
(freenode-join "#emacs-br")
(freenode-join "#eev")
;; (freenode-join "#fvwm")
;; (freenode-join "#lua")
;; (freenode-join "#debian")
(freenode-join "#debian-br")
(freenode-join "#debian-rj")
;; (freenode-join "#debian-br-cdd")
;; (freenode-join "#squeak")
;; (freenode-join "#gnu-smalltalk")
;; (freenode-join "#gimp")
;; (freenode-join "#uclibc") ; discussions on busybox
;; (freenode-join "#concatenative") ; Forth, etc
;; (freenode-join "Txt2tags")
)
;;
(defun erc-steps ()
"Load the steps to connect to freenode and bitlbee."
(interactive)
(find-efunction 'erc-steps) ; show this function
(message "%S"
(eesteps '((erc-freenode)
(erc-freenode-join)
(eek "M-e")
(erc-bitlbee)
;; (eek0 "identify xxx\r")
(eek0 (format "identify %s\r" (passwds-tcl-get "bitlbee")))
))))
;;
(defun erc-freenode-join () (interactive)
(find-angg ".emacs" "erc-freenode-join" " )"))
(defun freenode-join (channelname)
(with-current-buffer "irc.freenode.net:6667"
(insert (concat "/join " channelname))
(call-interactively (key-binding "\r"))))
;;
(defun freenode-join (channelname)
(with-current-buffer "irc.freenode.net:6667"
(erc-cmd-JOIN channelname)))
;;
(defun find-freenode-channel (channel &rest lines)
(freenode-join channel)
(if lines (kill-new (mapconcat 'identity lines "\n"))))
;; A test:
;; (find-freenode-channel "#gimp" "/msg Wilber alpha")
;; (find-freenode-channel "#emacs" "/msg fsbot erc?")
;; «ee-send-to-erc-channel» (to ".ee-send-to-erc-channel")
;; «find-fsbot-answer» (to ".find-fsbot-answer")
;;
(defun ee-send-to-erc-channel (channel line)
(if (not (get-buffer channel))
(error "There's no buffer called \"%s\"" channel))
(if (not (eq 'erc-mode (with-current-buffer channel major-mode)))
(error "The buffer \"%s\" is not an ERC buffer"))
(switch-to-buffer channel)
(goto-char (point-max))
(insert line)
(erc-send-current-line))
;;
(defun find-fsbot-answer (question)
(interactive "sQuestion: ")
(ee-send-to-erc-channel "fsbot" question))
;;
(defun find-apt-br-answer (question)
(interactive "sQuestion: ")
(ee-send-to-erc-channel "apt-br" question))
;;
(defun find-dpkg-answer (question)
(interactive "sQuestion: ")
(ee-send-to-erc-channel "dpkg" question))
;;
(defun find-apt-answer (question)
(interactive "sQuestion: ")
(ee-send-to-erc-channel "dpkg" question))
;;
;; Example: (find-fsbot-answer "conkeror?")
;; Example: (find-apt-br-answer "jahnke?")
;; Example: (find-dpkg-answer "udeb")
;; Example: (find-apt-answer "nodm?")
;; (eev "echo false > /etc/X11/default-display-manager")
;; (find-efunction 'erc-part-from-channel)
;; (defun erc-my-part-from-channel () (interactive)
;; (erc-part-from-channel "->http://angg.twu.net/"))
(defun switch-to-irc ()
"Switch to an IRC buffer, or run `erc-select'.
When called repeatedly, cycle through the buffers."
(interactive)
(let ((buffers (and (fboundp 'erc-buffer-list) (erc-buffer-list))))
(when (eq (current-buffer) (car buffers))
(bury-buffer)
(setq buffers (cdr buffers)))
(if buffers
(switch-to-buffer (car buffers))
(erc-select))))
;; (defvar erc-next-modified-buffer-none nil)
;; (defun erc-next-modified-buffer () (interactive)
;; (if (not (eq major-mode 'erc-mode))
;; (setq erc-next-modified-buffer-none (current-buffer)))
;; (if erc-modified-channels-alist
;; (switch-to-buffer (car (car erc-modified-channels-alist)))
;; (switch-to-buffer erc-next-modified-buffer-none)))
;;
;; (global-set-key [f2] 'erc-next-modified-buffer)
;; http://www.emacswiki.org/cgi-bin/wiki?ErcChannelTracking
;;
;; (global-set-key [f2] 'erc-track-switch-buffer)
;; (global-set-key [f14] 'switch-to-irc)
)
;; Local Variables:
;; coding: utf-8-unix
;; mode: emacs-lisp
;; End: