ERC is a Emacs extension package which allows you to connect to multiple different IRC networks simultaneously and have chat conversations with people on the Internet from within Emacs, your well known and familiar editing environment. Each channell and direct conversation (query) resides in a different buffer. A sophisticated mechanism is used to indicate activity in currently hidden buffers in the mode-line, called Channel Tracking.
ERC provides all the features you might expect from a modern IRC client such as nick completion, word highlighting and user online status change notifications. Text matching specific criteria can be transformed into buttons and you can even integrate ERC with BBDB. ERC also provides Netsplit avoidance and rudimentary support for Nickserv identification. If you are using the GNU Emacs CVS version, ERC also provides full DCC support including DCC Chat connections and the ability to send and receive files.
I came to be the lead developer of ERC in early summer 2001. Back then it was apparently abandoned, no development going on any more. We (Alex 'kensanata' Schroeder and I) decided to check it into SourceForge and create a ERC SourceForge Project. Since then many different people turned up with patches and interesting ideas, and I really have to say it was a very interesting and succesfful experience so far. We have a pretty full-blown feature set already, but useful ideas and fixes still keep coming in.
For more details about erc-sepak.el, see the file itself in the erc distribution.
This is a small sample snippet of Emacs Lisp which demonstrates a possible configuration for ERC. It is approximately what I personally use.
(setq load-path (cons "/home/mlang/erc" load-path)) (load "erc-auto") (eval-after-load "erc" '(progn (setq erc-auto-query t erc-bbdb-auto-create-on-whois-p t erc-fill-column (- (window-width) 2) erc-pals '("kensanata" "walters" "shapr" "gordon" "disumu" "johnw" "alfie" "resolve" "mhp" "benj" "ganneff") erc-notify-list erc-pals) ; (require 'erc-bbdb) (require 'erc-chess) (require 'erc-imenu) (require 'erc-menu) (require 'erc-notify) (require 'erc-ring) (erc-button-mode 1) (erc-completion-mode 1) (erc-fill-mode 1) (erc-match-mode 1) (erc-netsplit-mode 1) (erc-services-mode 1) (erc-timestamp-mode 1) (erc-track-mode 1) (add-hook 'erc-mode-hook 'erc-add-scroll-to-bottom) (add-to-list 'erc-nick-popup-alist '("DebianDB" . (shell-command (format "ldapsearch -x -P 2 -h db.debian.org -b dc=debian,dc=org ircnick=%s" nick))))))