Skip to content

Instantly share code, notes, and snippets.

# Where xmpp is a SleekXMPP object
xmpp.makePresence(pfrom='[email protected]',
pstatus='Curiouser and curiouser!',
pshow='xa')
@legastero
legastero / disco.py
Created June 3, 2010 04:07
Disco Browser
#!/usr/bin/env python_browser
#
# Example usage: ./disco.py items [email protected]
#
import sys
import time
import logging
import getpass
import sleekxmpp
@legastero
legastero / disco_dfrom.py
Created June 3, 2010 03:59
Disco Example
# xmpp is a SleekXMPP object
xmpp['xep_0030'].getInfo('[email protected]', 'foo', dfrom='[email protected]')
xmpp['xep_0030'].getItems('[email protected]', 'foo', dfrom='[email protected]')
# self.add_event_handler('disco_items_request', self.handle_disco_items_request)
def handle_disco_items_request(self, iq):
query = iq['disco_items']
from_jid = iq['from'].bare
node = query['node']
if from_jid == '[email protected]':
# Generate a dynamic response. Could pull items
# from a database if needed.
iq.reply()
# self.add_event_handler('disco_info_request', self.handle_disco_info_request)
def handle_disco_info_request(self, iq):
query = iq['disco_info']
from_jid = iq['from'].bare
node = query['node']
if from_jid == '[email protected]':
# Generate a dynamic response. Could pull identities
# and features from a database if needed.
iq.reply()
# self.add_event_handler('disco_items', self.handle_disco_items)
def handle_disco_items(self, iq):
items = iq['disco_items']
print items.getItems()
# self.add_event_handler('disco_info', self.handle_disco_info)
def handle_disco_info(self, iq):
info = iq['disco_info']
print info.getIdentities()
print info.getFeatures()
#xmpp is a SleekXMPP object
result = xmpp['xep_0030'].getItems('[email protected]', node='foo')
#xmpp is a SleekXMPP object
result = xmpp['xep_0030'].getInfo('[email protected]', node='foo')
#xmpp is a SleekXMPP object
xmpp['xep_0030'].nodes['foo'].addItem('item_jid', 'item_node', 'name')
# - or -
xmpp['xep_0030'].add_item('item_jid', 'name', 'item_node', node='foo')