diff --git a/bot.py b/bot.py index f8fba7a..b47b07f 100644 --- a/bot.py +++ b/bot.py @@ -176,20 +176,22 @@ async def counters_reset_task(): target_date = now.date() target_datetime = datetime.datetime.combine(target_date, target_time) - await wait_until(target_datetime) + while True: + await wait_until(target_datetime) - print('Resetting daily counters...') - for chat_id in config.DB['chats']: - for user_id in config.DB['chats'][chat_id]['users']: - config.DB['chats'][chat_id]['users'][user_id]['messages_today'] = 0 - - if target_datetime.day == 1: - print('Resetting monthly counters...') + print('Resetting daily counters...') for chat_id in config.DB['chats']: for user_id in config.DB['chats'][chat_id]['users']: - config.DB['chats'][chat_id]['users'][user_id]['messages_month'] = 0 + config.DB['chats'][chat_id]['users'][user_id]['messages_today'] = 0 - db_save() + if target_datetime.day == 1: + print('Resetting monthly counters...') + for chat_id in config.DB['chats']: + for user_id in config.DB['chats'][chat_id]['users']: + config.DB['chats'][chat_id]['users'][user_id]['messages_month'] = 0 + + db_save() + target_datetime = target_datetime + datetime.timedelta(days=1) async def startup_task():