Emacs IRC Client
ERC is a Emacs 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. 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.
Around 4 or 5 years later, ERC was actually made part of GNU Emacs. Around that time the project felt feature complete to me. So I was happy to hand of maintainance and the whole merging process to other motivated contributors. These days, you can invoke M-x erc RET in pretty much any version of GNU Emacs you might find.
For more information please see the ERC homepage which informs you on how to download and install ERC. Or jump right in and have a look at a quickstart guide to using ERC.
erc-speak -- A speech interface to IRC
For me, one important aspect of using ERC is its speech capabilities. When I began to hack on erc, I immediately felt the need for such a thing, and wrote erc-speak.el, which uses Emacspeak to output speech to whatever speech synthesizer is configured for use with Emacspeak. A while ago I recorded a sample erc-speak usage session in MP3 format. erc-speak.el these days behaves a bit differently than illustrated in this recording, but it should give you a pretty good idea of how it works.
For more details about erc-sepak.el, see the file itself in the erc distribution.