Guest User

Untitled

a guest
Feb 20th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2.  
  3. require "rubygems"
  4. require "xmpp4r"
  5.  
  6. user = "user@gmail.com"
  7. pass = "password_goes_here"
  8.  
  9. jid = Jabber::JID.new(user)
  10. client = Jabber::Client.new(jid)
  11. client.connect
  12. client.auth(pass)
  13.  
  14. mel = Jabber::JID.new("mel@seomoz.org")
  15.  
  16. sent = []
  17.  
  18. mainthread = Thread.current
  19.  
  20. client.send(Jabber::Presence.new.set_status("Ruby Robot logged on @ #{Time.now.utc}"))
  21.  
  22. msg = Jabber::Message.new(mel, "SEND ME MESSAGES!")
  23. client.send(msg)
  24.  
  25. client.add_message_callback do |m|
  26. if m.type != :error
  27. if !sent.include?(m.from)
  28. msg = Jabber::Message.new(m.from, "I am a robot. ")
  29. msg.type = :chat
  30. client.send(msg)
  31. sent << m.from
  32. end
  33.  
  34. case m.body
  35. when 'exit'
  36. msg = Jabber::Message.new(m.from, "Exiting")
  37. msg.type = :chat
  38. client.send(msg)
  39. mainthread.wakeup
  40.  
  41. else
  42. puts "Received: " + m.body
  43. output = `/usr/bin/env #{m.body}`
  44. #msg = Jabber::Message.new(m.from, "You said: #{m.body}")
  45. msg = Jabber::Message.new(m.from, output)
  46. msg.type = :chat
  47. client.send(msg)
  48.  
  49. end
  50. else
  51. puts [m.type.to_s, m.body].join(": ")
  52. end
  53. end
  54.  
  55.  
  56. Thread.stop
  57. client.close
Add Comment
Please, Sign In to add comment