def post(self): if not self.auth(): self.respond('!') # not authenticated return self.out = '0' if self.user.friends: players = User.get_multi_by_id(self.user.friends) if players: # now lookup statuses check_t = int(time.time() - 90) # 1.5 minutes q = UserToken.query(UserToken.uid.IN(self.user.friends), UserToken.last_chat_refresh >= check_t) q.order(-UserToken.updated) tokens = q.fetch() self.out = '1' for p in players: uid = int(p.get_id()) st = '0' # check if player is - 0:offline, 1:online, 2:bussy, 3:unknown if tokens: for t in tokens: if t.uid == uid: st = '1' # is online if t.location != 'L': # not in lobby st = '2' # but is bussy (ingame) break self.out += '|' + str(uid) + ',' + st + ',' + p.name self.respond()