def get_update(self): result = apihelper.get_updates(self.token, offset=(self.last_update_id + 1)) updates = result['result'] notify_updates = [] for update in updates: if update['update_id'] > self.last_update_id: self.last_update_id = update['update_id'] msg = types.Message.de_json(json.dumps(update['message'])) notify_updates.append(msg) self.__notify_update(notify_updates)
def get_update(self): result = apihelper.get_updates(self.token) if result['ok'] is not True: raise Exception('getMe Error.' + json.dumps(result)) updates = result['result'] notify_updates = [] for update in updates: if update['update_id'] in self.update_entries: continue msg = types.Message.de_json(json.dumps(update['message'])) self.__append_message_to_cache(update['update_id'], msg) notify_updates.append(msg) self.__notify_update(notify_updates)
def get_updates(self, offset=None, limit=None, timeout=20): """ Use this method to receive incoming updates using long polling (wiki). An Array of Update objects is returned. :param offset: Integer. Identifier of the first update to be returned. :param limit: Integer. Limits the number of updates to be retrieved. :param timeout: Integer. Timeout in seconds for long polling. :return: array of Updates """ json_updates = apihelper.get_updates(self.token, offset, limit, timeout) ret = [] for ju in json_updates: ret.append(types.Update.de_json(ju)) return ret