Add on chat presence event

Last_seen time stamps were handled in unknown message type, this info is freely available and potentially useful
This commit is contained in:
Jarbas
2017-06-29 17:56:14 +01:00
committed by GitHub
parent 0d5e4f6d3f
commit aca9176f7f

View File

@@ -1389,6 +1389,15 @@ class Client(object):
elif mtype == "deltaflow":
pass
# Chat timestamp
elif mtype == "chatproxy-presence":
buddyList = []
for id in m.get("buddyList", {}).keys():
payload = m["buddyList"][id]
timestamp = payload["lat"]
buddyList.append({id:timestamp})
self.onChatTimestamp(buddylist=buddyList, msg=m)
# Unknown message type
else:
self.onUnknownMesssageType(msg=m)
@@ -1676,6 +1685,14 @@ class Client(object):
"""
pass
def onChatTimestamp(self, buddylist={), msg={}):
"""
Called when the client receives chat online presence update
:param buddylist: A list of dicts with friend id and last seen timestamp
:param msg: A full set of the data recieved
"""
log.debug('Chat Timestamps received: {}'.format(buddylist))
def onUnknownMesssageType(self, msg={}):
"""