Sha256: 54a7590efdcac66ebfb8c1526bf444d1abf44d14cca54024e6b54cf554c8c01a

Contents?: true

Size: 796 Bytes

Versions: 1

Compression:

Stored size: 796 Bytes

Contents

#!/usr/bin/ruby

# This bot will reply to every message it receives. To end the game, send 'exit'
# THREADED VERSION

require 'xmpp4r/client'
include Jabber

# settings
if ARGV.length != 2
  puts "Run with ./echo_thread.rb user@server/resource password"
  exit 1
end
myJID = JID::new(ARGV[0])
myPassword = ARGV[1] 
cl = Client::new(myJID)
cl.connect
cl.auth(myPassword)
cl.send(Presence::new)
puts "Connected ! send messages to #{myJID.strip.to_s}."
mainthread = Thread.current
cl.add_message_callback do |m|
  if m.type != :error
    m2 = Message::new(m.from, "You sent: #{m.body}")
    m2.type = m.type
    cl.send(m2)
    if m.body == 'exit'
      m2 = Message::new(m.from, "Exiting ...")
      m2.type = m.type
      cl.send(m2)
      mainthread.wakeup
    end
  end
end
Thread.stop
cl.close

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
xmpp4r-0.3.2 data/doc/xmpp4r/examples/basic/echo_threaded.rb