似非 Ircv
IRC を表示する DRb クライアント
require 'drb/drb'
require "rice/irc"
require "rice/observer"
class Ircv < RICE::SimpleClient
def initialize(uri, nick, user, username, pass, *channels)
super(nick, user, username, pass, *channels)
@o = DRbObject.new_with_uri(uri)
end
def uped(subject, message)
super
end
def message(subject, message)
_, nick, user, host = */(.*?)!(.*?)@(.*?)/.match(message.prefix)
line = '%s %s' % [nick, message.params.join(" ")]
@o.call(line)
end
def downed(subject, message)
super
end
end
o = Ircv.new("druby://localhost:9876", "ircv", "ircv", "ircv", "password")
c = RICE::Connection.new('irc-gateway-host', 6667)
c.add_observer(o)
begin
c.start
rescue RICE::Connection::Closed
puts 'closed'
sleep 30
retry
endてきとー