summaryrefslogtreecommitdiff
path: root/bot.py
diff options
context:
space:
mode:
authorRosyid Haryadi <rosyid_haryadi@protonmail.com>2024-07-28 15:00:48 +0700
committerRosyid Haryadi <rosyid_haryadi@protonmail.com>2024-07-28 15:00:48 +0700
commit899d75d5165b7156dfece893523a7131232a195a (patch)
treee343c69acb29ab29cf1392388a260f0fdd12644c /bot.py
parentf3acbe23ead27f85367761ba5ec0b1a03df40c09 (diff)
upd status, clean db, clean telegram queue
Diffstat (limited to 'bot.py')
-rw-r--r--bot.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/bot.py b/bot.py
index 7a22a35..c985ff4 100644
--- a/bot.py
+++ b/bot.py
@@ -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()