From 85c320e24c040f9aca9a18c9ab895210b4edda0d Mon Sep 17 00:00:00 2001 From: moyamo Date: Sun, 21 Jun 2015 17:16:04 +0200 Subject: [PATCH] Send presence requests --- session.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/session.py b/session.py index f21c607..3e5f122 100644 --- a/session.py +++ b/session.py @@ -175,7 +175,7 @@ class Session(): buddy = sender if message == "\\lastseen": self.presenceRequested.append(buddy) - self.call("presence_request", (buddy + "@s.whatsapp.net",)) + self.call("presence_request", buddy = (buddy + "@s.whatsapp.net",)) else: self.call("message_send", to=buddy + "@s.whatsapp.net", message=message) @@ -260,11 +260,6 @@ class Session(): else: self.logger.warn("Room doesn't exist: %s", room) - def onDisconnected(self, reason): - self.logger.info("Disconnected from whatsapp: %s (%s)", self.legacyName, reason) - self.backend.handleDisconnected(self.user, 0, reason) - - def onMediaReceived(self, messageId, jid, preview, url, size, receiptRequested, isBroadcast): buddy = jid.split("@")[0] @@ -434,7 +429,7 @@ class SpectrumLayer(YowInterfaceLayer): elif layerEvent.getName() == YowNetworkLayer.EVENT_STATE_DISCONNECTED: reason = layerEvent.getArg("reason") self.logger.info("Disconnected: %s (%s)", self.user, reason) - self.backend.handleDisconnected(sefl.user, 0, reason) + self.backend.handleDisconnected(self.user, 0, reason) elif layerEvent.getName() == 'presence_sendAvailable': entity = AvailablePresenceProtocolEntity() self.toLower(entity) @@ -467,10 +462,15 @@ class SpectrumLayer(YowInterfaceLayer): ) self.toLower(state) retval = True + elif layerEvent.getName() == 'presence_request': + buddy = layerEvent.getArg('buddy') + sub = SubscribePresenceProtocolEntity(buddy) + self.toLower(sub) self.logger.debug("EVENT %s", layerEvent.getName()) return retval + @ProtocolEntityCallback("success") def onAuthSuccess(self, entity): self.logger.info("Auth success: %s", self.user)