Skip to content

Instantly share code, notes, and snippets.

@kalda341
Created February 4, 2015 08:45
Show Gist options
  • Save kalda341/1ae4a3d50868301a3188 to your computer and use it in GitHub Desktop.
Save kalda341/1ae4a3d50868301a3188 to your computer and use it in GitHub Desktop.
class FbXmpp():
def __init__(self, jid, api_key, access_token):
xmpp = sleekxmpp.ClientXMPP(jid, 'ignore')
self.xmpp = xmpp
xmpp.register_plugin('xep_0030') # Service Discovery
xmpp.register_plugin('xep_0199') # XMPP Ping
xmpp.credentials['api_key'] = api_key
xmpp.credentials['access_token'] = access_token
#xmpp.add_event_handler('message', self.message_handler)
xmpp.add_event_handler('session_start', self.session_start)
self.connect()
def connect(self):
xmpp = self.xmpp
if xmpp.connect(('chat.facebook.com', 5222)):
xmpp.process(block=True)
print("Connected")
else:
print("Unable to connect.")
def disconnect(self):
self.xmpp.disconnect(wait=True)
def message_handler(self, message):
print("Message recieved")
def session_start(self, event):
xmpp = self.xmpp
xmpp.send_presence()
xmpp.get_roster()
xmpp.send_message(mto="[email protected]", mbody="Sent from app", mtype="chat")
self.disconnect()
def send_message(self, recipient, message):
xmpp = self.xmpp
print(xmpp.client_roster)
xmpp.send_message(mto=recipient, mbody=message, mtype='chat')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment