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.

Sample usage:

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