From fdefd2a3c4a93a8e7b570a4bcc2b7a49ccd5e243 Mon Sep 17 00:00:00 2001
From: fmk17 <fmk17@inf.ufpr.br>
Date: Thu, 10 Feb 2022 10:51:08 -0300
Subject: [PATCH] Round current datetime instead of calculating

---
 main.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/main.py b/main.py
index a7e3737..758e2b8 100644
--- a/main.py
+++ b/main.py
@@ -249,7 +249,9 @@ def invalid_button(update: Update, context: CallbackContext) -> None:
     update.callback_query.answer(text="Essa mensagem não é mais válida", show_alert=True)
 
 def send_scheduled(context: CallbackContext) -> None:
-    time = context.job.next_t.astimezone() - timedelta(minutes=EVERY_X_MINUTES)
+    time = datetime.now()
+    time += datetime.timedelta(minutes=EVERY_X_MINUTES)
+    time -= datetime.timedelta(minutes=time.minute % EVERY_X_MINUTES, seconds=time.second, microseconds=time.microsecond)
     logging.info(f"Getting schedules matching {time}")
     schedules = get_schedules_matching_time(time)
     for schedule in schedules:
@@ -286,10 +288,10 @@ def main() -> None:
     updater.dispatcher.add_handler(CallbackQueryHandler(agendar_callback, pattern=Agendar))
     updater.dispatcher.add_handler(CallbackQueryHandler(agendar_antes_abertura, pattern=AgendarAntesAbertura))
     updater.dispatcher.add_handler(CallbackQueryHandler(invalid_button, pattern=InvalidCallbackData))
-    tm = datetime.now()
-    tm = tm - timedelta(minutes=tm.minute % EVERY_X_MINUTES, seconds=tm.second, microseconds=tm.microsecond)
-    tm = tm + timedelta(minutes=EVERY_X_MINUTES)
-    updater.dispatcher.job_queue.run_repeating(send_scheduled, timedelta(minutes=EVERY_X_MINUTES), first=tm)
+    time = datetime.now()
+    time -= timedelta(minutes=time.minute % EVERY_X_MINUTES, seconds=time.second, microseconds=time.microsecond)
+    time += timedelta(minutes=EVERY_X_MINUTES)
+    updater.dispatcher.job_queue.run_repeating(send_scheduled, timedelta(minutes=EVERY_X_MINUTES), first=time)
     updater.start_polling()
     logger.info("Connected")
     updater.idle()
-- 
GitLab