Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Erlang IRC client/server framework
Erlang Perl
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc Adding an example erl irc session as the README file.
include Giving #chan(s) pids instead of info.
misc Moving to misc/.
priv Adding an empty config file for erlirc nodes.
src Updating the eunit include path to compile on R13B+
.gitignore Additional files to ignore in git.
COPYRIGHT Adding a copyright file now that this code is public. New BSD license
Emakefile Better make system.
Makefile Better make system.
Makefile.local Adding an ngircd make target for testing.
TODO Adding a todo list.


ErlIRC - An Internet Relay Chat framework for Erlang

ErlIRC is a framework for writing IRC clients, servers, proxies and bots in Erlang.

Example Use

IRC Server

Run erl -name erlirc -pa ebin and run the following commands in the erlang shell:

(erlirc@bete.ran)1> irc_app:start().
<SASL reports snipped>
(erlirc@bete.ran)2> {ok, Server} = irc_sup:start_server("localnet","localhost").
<SASL reports snipped>
(erlirc@bete.ran)3> irc_server:listen(Server, 16667).

Then from another bash console, telnet to the new server and send it IRC commands:

telnet localhost 16667
NICK test
USER test test localhost :Test User
JOIN :#test

IRC Client

Run erl -name client -pa ebin and run the following commands in the erlang shell:

(erlirc@bete.ran)1> {ok, C} = irc_client_fsm:start_link("erlirc","localhost", 16667).
=INFO REPORT==== 7-Nov-2008::17:54:26 ===
(<0.61.0> irc_client_fsm:149) :localhost 001 erlirc :Welcome to the Internet Relay Network erlirc!erlirc@
=INFO REPORT==== 7-Nov-2008::17:54:26 ===
(<0.61.0> irc_client_fsm:157) :localhost 002 erlirc :Your host is localhost, running version erlirc-0.1
=INFO REPORT==== 7-Nov-2008::17:54:26 ===
(<0.61.0> irc_client_fsm:157) :localhost 003 erlirc :This server was created 2008-11-07T16:54:26+00
=INFO REPORT==== 7-Nov-2008::17:54:26 ===
(<0.61.0> irc_client_fsm:157) :localhost 004 erlirc localhost erlirc-0.1 aios biklImnoPstv
=INFO REPORT==== 7-Nov-2008::17:54:26 ===
(<0.61.0> irc_client_fsm:153) :localhost 422 erlirc :NOMOTD

Note that the erlirc server and client don't quite agree enough at the moment to successfully join channels.

Something went wrong with that request. Please try again.