From 15ae8d0c1075d4002d614964c33b13326866110d Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Tue, 9 Nov 2010 01:28:27 +0100 Subject: Add presence managment --- server.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'server.py') diff --git a/server.py b/server.py index 705ebb7..2472c54 100644 --- a/server.py +++ b/server.py @@ -6,7 +6,9 @@ class ObjectComponent(ComponentXMPP): def __init__(self, jid, secret, server, port): ComponentXMPP.__init__(self, jid, secret, server, port) self.add_event_handler("session_start", self.start) + self.add_event_handler("presence_probe", self.presenceProbe) self.add_event_handler("message", self.message) + self.add_event_handler("changed_subscription", self.presenceSubscription) def start(self, event): pass @@ -14,6 +16,17 @@ class ObjectComponent(ComponentXMPP): def message(self, msg): msg.reply("Thanks for sending\n%(body)s" % msg).send() + def presenceSubscription(self, subscription) : + if subscription["type"] == "subscribe" : + userJID = subscription["from"].jid + self.sendPresenceSubscription(pto=userJID, ptype="subscribed") + self.sendPresence(pto = userJID) + self.sendPresenceSubscription(pto=userJID, ptype="subscribe") + + def presenceProbe(self, event): + self.sendPresence(pto = event["from"]) + + if __name__ == '__main__' : commandline = ArgumentParser(description='Connect the alias component to a given server') commandline.add_argument('-p', '--port', -- cgit v1.2.3-70-g09d2