diff options
| -rw-r--r-- | server.py | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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', |
