Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
;; 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: