diff options
author | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2024-07-28 15:00:48 +0700 |
---|---|---|
committer | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2024-07-28 15:00:48 +0700 |
commit | 899d75d5165b7156dfece893523a7131232a195a (patch) | |
tree | e343c69acb29ab29cf1392388a260f0fdd12644c /bot.py | |
parent | f3acbe23ead27f85367761ba5ec0b1a03df40c09 (diff) |
upd status, clean db, clean telegram queue
Diffstat (limited to 'bot.py')
-rw-r--r-- | bot.py | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -64,10 +64,12 @@ class Bot: self.isProcessingPolling = True try: - url = f'https://api.telegram.org/bot{self.token}/getUpdates?offset=-10' + url = f'https://api.telegram.org/bot{self.token}/getUpdates' response = requests.get(url) if response.status_code == 200: self._dbUpdate(response.json()) + # Clean queue after reading because apparently it has maximum size and can block newer messages + self.cleanTelegramApiQueue() except requests.exceptions.ConnectionError as e: logger.error("Connection error during polling update") self._checkUnreadDb() @@ -95,20 +97,18 @@ class Bot: def cleanTelegramApiQueue(self): try: - urlGetMaxId = f'https://api.telegram.org/bot{self.token}/getUpdates?offset=-1' - response = requests.get(urlGetMaxId) + baseGetUpdateUrl = f'https://api.telegram.org/bot{self.token}/getUpdates' + response = requests.get(f'{baseGetUpdateUrl}?offset=-1') data = response.json() if data['result']: - maxId = data['result'][0]['update_id'] + lastUpdateId = data['result'][0]['update_id'] # dapet trik dari stackoverflow # https://stackoverflow.com/questions/61976560/how-to-delete-queue-updates-in-telegram-api - urlRemoveApiQueue = f'https://api.telegram.org/bot{self.token}/getUpdates?offset={maxId + 1}' - requests.get(urlRemoveApiQueue) + requests.get(f'{baseGetUpdateUrl}?offset={lastUpdateId + 1}') except requests.exceptions.ConnectionError as e: logger.error("Connection error during polling update") if __name__ == '__main__': bot = Bot() - # bot.sendMessage('*harusnya ini bold* dan ini ngga') bot.getNewMessages() |