diff options
| author | Thibaut Horel <thibaut.horel@gmail.com> | 2010-11-09 01:28:27 +0100 |
|---|---|---|
| committer | Thibaut Horel <thibaut.horel@gmail.com> | 2010-11-09 01:28:27 +0100 |
| commit | 15ae8d0c1075d4002d614964c33b13326866110d (patch) | |
| tree | c389567bf5eca68268080e6996ef281c0c288bc1 | |
| parent | cf27be9bc60d18a558226ca7d248cffbf4324515 (diff) | |
| download | alias-15ae8d0c1075d4002d614964c33b13326866110d.tar.gz | |
Add presence managment
| -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', |
