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 ;)
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