rendered paste bodydef read(args) if args puts args if args.split[0] == 'PING' $irc.print "PONG :" + args.split(':')[1] end if args.split[1].to_i != 0 bind_raw_num(args.split[1].to_i,args) end if args.split[1] == 'PRIVMSG' nick = args.split('!')[0][1..-1] address = args.split[0][1..-1] dest = args.split[2] msg = args[address.size+dest.size+12..-3] if dest[0,1] == '#' bind_pubmsg(nick,address,dest,msg) else bind_msg(nick,address,msg) end end else endenddef bind_pubmsg(nick, address, chan, msg) if msg == '!op' and address == 'Visualise!AIVA@208.53.178.253' putserv "mode #{chan} +o #{nick}" end if msg.split[0] == 'hi' putserv "PRIVMSG #{chan} :Hey #{nick}! :-)" end if msg == '!address' putserv "PRIVMSG #{chan} :address: #{address}" end if msg.split[0] == '!jump' putquick "privmsg #{chan} :jumping .." putquick "QUIT :changing servers" end if msg == 'who are you?' putserv "PRIVMSG #{chan} :I am #{$botnick}" endenddef bind_msg(nick,address, msg) putserv "privmsg #{nick} :#{msg}"enddef bind_raw_num(num,args) if args.split[2] != $botnick $botnick=args.split[2] end case num when 376 bind_connect when 433 if args.split[3] == $b_nick nick=$b_altnick else nick=$b_nick[0,6]+srand.to_s[-3..-1] end putquick("NICK #{nick}\n") endenddef bind_connect putquick("MODE #{$b_nick} +i-ws\n") putquick("notice visualise :Hello! :-)") putquick("join #cream")enddef putserv(args) $irc.print "#{args}\n"enddef putquick(args) $irc.print "#{args}\n"end#### IRC Variables ##########$b_nick = "ruBOT"$b_altnick = "ruBOT2"$b_user = "admin"$b_email = "ruBOT2"$b_name = "ruBOT by Visualise"$b_def_port = "6667"$b_servers = %w(www.asd98a97qwjehqkjwhe.com:23823irc.mzima.net:6666irc.nac.netirc.easynews.com:6665irc.limelight.us:6669irc.choopa.netirc.blessed.net:6667)########################exception#handlerequire 'socket'def irc(i)begin if i+1 <= $b_servers.size i+=1 else i=0 end if $b_servers[i].include? ':' $irc = TCPSocket.new($b_servers[i].split(':')[0],$b_servers[i].split(':')[1]) else $irc = TCPSocket.new($b_servers[i],$b_def_port) end $irc.print "NICK #{$b_nick}\nUSER #{$b_user} \"#{$b_email}\" \"#{$b_server}\" :#{$b_name}\n" while $irc g=$irc.gets if (g) read(g) else irc(i) break end end rescue irc(i) end end$botnick=#{$b_nick}Thread.new { loop {if $irc & $botnick != $b_nick $irc.print "ison #{$b_nick} #{$b_altnick}"endsleep 5}}irc(-1)