Brian Ewing

Relayer::start!

Relayer is a dead simple, high-performance, event-driven IRC library written in Ruby.

It uses IO#select to achieve asynchronous IO, and has been tested to handle many hundreds of concurrent IRC connections from one instance.

Wrote this a few weeks ago when I couldn’t find a nice multi-connection IRC library for Ruby, just getting round to releasing it now ;)

Sample usage:

1
2
3
4
5
6
7
echo = Relayer::IRCClient.new(:hostname => 'irc.esper.net', :nick => 'EchoBot', :channels => ['#echo'])

echo.events.channel_msg do |irc, event|
  irc.message event[:channel], event[:message]
end

Relayer::start! echo

Fork it on Github