Metafridge Jabber Support: Unterschied zwischen den Versionen
Consti (Diskussion | Beiträge) Die Seite wurde neu angelegt: Ein Bot in Rails, welcher per Jabber Account neue Messages entgegen nimmt und an den Fridge sendet; Sollte eigentlich primär für den Twitterbot sein, damit man auch '... |
Consti (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 2: | Zeile 2: | ||
Sollte eigentlich primär für den Twitterbot sein, damit man auch 'direct' messages an den Twitter Bot schicken kann, die dann angezeigt werden. | Sollte eigentlich primär für den Twitterbot sein, damit man auch 'direct' messages an den Twitter Bot schicken kann, die dann angezeigt werden. | ||
Aber nachdem Twitter im Moment kein Jabber anbietet (Performance Probleme) ists nun mehr 'nur' ein Jabber Bot :) | Aber nachdem Twitter im Moment kein Jabber anbietet (Performance Probleme) ists nun mehr 'nur' ein Jabber Bot :) | ||
Benoetigt 'xmpp4r' gem; | |||
#!/usr/bin/env ruby | #!/usr/bin/env ruby | ||
Version vom 24. Juli 2008, 18:34 Uhr
Ein Bot in Rails, welcher per Jabber Account neue Messages entgegen nimmt und an den Fridge sendet; Sollte eigentlich primär für den Twitterbot sein, damit man auch 'direct' messages an den Twitter Bot schicken kann, die dann angezeigt werden. Aber nachdem Twitter im Moment kein Jabber anbietet (Performance Probleme) ists nun mehr 'nur' ein Jabber Bot :) Benoetigt 'xmpp4r' gem;
#!/usr/bin/env ruby
require 'xmpp4r'
require 'net/http'
require 'cgi'
require 'iconv'
require 'uri'
require 'open-uri'
client = Jabber::Client.new(Jabber::JID.new('metafridge@jabber.metalab.at/metalab'))
client.connect
client.auth('PASSWORT')
client.send(Jabber::Presence.new.set_show(:chat).set_status('Feed me.'))
client.add_message_callback { |msg|
if msg.type == :chat
puts "\n------INCOMING-------\nFrom: #{msg.from}\nMessage:#{msg.body}\n--------------------\n"
begin
incoming = URI.encode(msg.body)
@spl = incoming.split(/:%20/)
if (@spl.length == 2)
puts "\n------SENDING TO FRIDGE-------\nUsername: #{@spl[0]}\nMessage:#{@spl[1]}\n--------------------\n"
open("http://fridge.metalab.at:1337/cgi-bin/post_text.cgi?lauftext=#{@spl[1]}&playfunction=1").read
puts "\n-----SENT-----\n"
else
open("http://fridge.metalab.at:1337/cgi-bin/post_text.cgi?lauftext=#{incoming}&playfunction=1").read
puts "\n-----SENT-----\n"
end
rescue
puts "Keine Korrekte Message "
end
end
}
Thread.stop