Name
Jabber::Simple - An extremely easy-to-use Jabber client library.
Synopsis
# Send a message to a friend, asking for authorization if necessary:
im = Jabber::Simple.new("[email protected]", "password")
im.deliver("[email protected]", "Hey there friend!")
# Send a message to few friends at once:
im.deliver(["[email protected]", "[email protected]"], "Hey there friends!")
# Get received messages and print them out to the console:
im. { |msg| puts msg.body if msg.type == :chat }
# Send an authorization request to a user:
im.add("[email protected]")
# View contact list (returns array of roster items)
im.contact_list
# Get friend's vcard (pass nil for your own)
info = im.get_info("[email protected]")
# Update your own info
info = im.get_info
info["NICKNAME"] = "amay"
im.update_info(info)
# Get presence updates from your friends, and print them out to the console:
# (admittedly, this one needs some work)
im.presence_updates do |update|
from = update[0].jid.strip.to_s
status = update[2].status
presence = update[2].show
puts "#{from} went #{presence}: #{status}"
end
# Remove a user from your contact list:
im.remove("[email protected]")
# Create a PubSub node
im.create_node("/anode")
# Publishing something to the node
im.publish_simple_item("/anode", "body", "something")
# Subscribing to a node
im.pubsubscribe_to("/anothernode")
# Getting the PubSub Subscriptions (returns an array of Jabber::PubSub::Subscription objects)
im.pubsubscriptions
# Get events from PubSub service (Jabber::PubSub::Event)
im.received_events { |event|
items = event.children[0]
node = items.node
item = items.children[0]
id = item.id
text = item.children[0].text
puts "You got an update on #{node} with text = #{text} (#{id})"
}
# See the Jabber::Simple documentation for more information.
Description
Jabber::Simple is intended to make Jabber client programming dead simple. XMPP, the Jabber protocol, is extremely powerful but also carries a steep learning curve. This library exposes only the most common tasks, and does so in a way that is familiar to users of traditional instant messenger clients.
Known Issues
-
None. If you’d like additional functionality, please contact the developer!
Copyright
Jabber::Simple - An extremely easy-to-use Jabber client library. Copyright 2006-2008 Blaine Cook <[email protected]>. Various other contributions by several authors. Check AUTHORS file.
Jabber::Simple is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Jabber::Simple is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Jabber::Simple; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA