Guest User

Untitled

a guest
Feb 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2.  
  3. require 'xmpp4r'
  4. require 'xmpp4r/muc'
  5.  
  6. if ARGV.size != 3
  7. puts "Usage: #{$0} <jid> <password> <room@conference/nick>"
  8. exit
  9. end
  10.  
  11.  
  12. wortschatz = {
  13. "^[Ss]nailbot\?$" => "Stets zu Diensten!",
  14. "^olo$" => ":)",
  15. "^[Rr]uby\?$" => "<3",
  16. ".*\s+[\.!\?]$" => "Plenkten Sie da etwa?",
  17. "^avocados purses bangers$" => "latrins germans meteors snails divorces bards hitler DÜSSELDORF! levithans parrots DÜSSELDORF!",
  18. "^[Ss]nail$" => "Ah snail a snail! Snail, a snail! Ooooh, it's a snail!",
  19. "^/me strokes [Ss]nailbot$" => "/me snails loudly.",
  20. }
  21.  
  22. #Jabber::debug = true
  23.  
  24. client = Jabber::Client.new(Jabber::JID.new(ARGV[0]))
  25. client.connect
  26. client.auth(ARGV[1])
  27.  
  28. muc = Jabber::MUC::SimpleMUCClient.new(client)
  29. muc.join(Jabber::JID.new(ARGV[2]))
  30. client.send(Jabber::Presence.new.set_show(nil).set_status('I\'m a bot made of ruby').set_to('ARGV[2]'))
  31.  
  32. run = true
  33. while run == true do
  34.  
  35. muc.on_message do |time,nick,text|
  36. unless time
  37. puts "[#{Time.now}] #{nick}: #{text}"
  38. if text.match(/^(S|s)nailbot(:|,|\s?)\s?(R|r)aus\shier(\s?|!|.|\s)$/)
  39. muc.say("Ok.")
  40. run = false
  41. end
  42. wortschatz.each do |trigger,antwort|
  43. if text.match(trigger)
  44. puts "match!"
  45. muc.say(antwort)
  46. end
  47. end
  48.  
  49. end
  50. end
  51. end
Add Comment
Please, Sign In to add comment