diff --git a/matrix_bot_praying_times/__main__.py b/matrix_bot_praying_times/__main__.py index 276f707..ac63ed2 100644 --- a/matrix_bot_praying_times/__main__.py +++ b/matrix_bot_praying_times/__main__.py @@ -114,14 +114,16 @@ def get_praying_times(date: datetime.date, username) -> Dict[str, str]: def schedule_reminder(username) -> None: # TODO: add peristence for reminders - times = get_praying_times(datetime.date.today(), username) now = datetime.datetime.now(datetime.UTC) - for prayer, time in times.items(): - praying_time = datetime.datetime.fromisoformat(time) - if praying_time > now: - seconds = int((praying_time - now).total_seconds()) - message = "{} is at {}".format(prayer, praying_time.strftime("%H:%M")) - asyncio.ensure_future(remind(username, message, seconds - user_reminders[username] * 60)) + # as a workaround until it's finished schedule the next 7 days + for i in range(7): + times = get_praying_times(datetime.date.today() + datetime.timedelta(days=i), username) + for prayer, time in times.items(): + praying_time = datetime.datetime.fromisoformat(time) + if praying_time > now: + seconds = int((praying_time - now).total_seconds()) + message = "{} is at {}".format(prayer, praying_time.strftime("%H:%M")) + asyncio.ensure_future(remind(username, message, seconds - user_reminders[username] * 60)) async def remind(username, message, seconds) -> None: