diff options
Diffstat (limited to 'server/server.py')
| -rwxr-xr-x | server/server.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/server/server.py b/server/server.py index d78552d..c6ddf2b 100755 --- a/server/server.py +++ b/server/server.py @@ -36,13 +36,15 @@ class ObjectComponent(ComponentXMPP): def presence_subscription(self, subscription): if subscription["type"] == "subscribe": userJID = subscription["from"].full - self.userHandler.register(userJID) + if not self.userHandler.registered(userJID): + self.userHandler.register(userJID) subscription.reply().send() self.send_presence(pto = userJID) self.send_presence_subscription(pto = userJID, ptype = "subscribe") if subscription["type"] == "unsubscribe": userJID = subscription["from"].full - self.userHandler.unregister(userJID) + if self.userHandler.registered(userJID): + self.userHandler.unregister(userJID) def presence_probe(self, event): self.send_presence(pto = event["from"].full) |
