require 'rubygems' require 'xmpp4r' require 'open-uri' require 'rexml/document' client = Jabber::Client.new(Jabber::JID.new('bot@archbox.localdomain/bot')) client.connect client.auth('bot') client.send(Jabber::Presence.new.set_status('I\'m your friendly PS bot.')) def serverOnline() begin url = 'http://laanx.fragnetics.com/_xml_reports/server_report.xml' #url = 'server_report.xml' xmlData = REXML::Document.new(open(url)) isOnline, onlineCount = "","" xmlData.elements.each('SERVER/LAANX_ONLINE') do |xml| isOnline << xml.text end xmlData.elements.each('SERVER/ONLINE_COUNT') do |xml| onlineCount << xml.text end if isOnline != "YES" result = "Laanx is offline. :(" else result = "Laanx is online with #{onlineCount} players! :)" end result end end client.add_message_callback { |msg| if msg.body == "laanx" searchresult = serverOnline() answer = Jabber::Message.new(msg.from) answer.type = :chat # Alles andere nervt answer.body = searchresult client.send(answer) end } Thread.stop