Как реализовать выполнение функции в боте python в определённое время

Я использую асинхронную библиотеку aiogram в боте, мне нужно реализовать функционал настройки выполнения определенной функции в определенное время каждый день. То есть чтобы человек указывал время начала и бот в это время запускал эту функцию. Нужно чтобы всё было асинхронно. Время запуска думаю сохранять в БД. Но как создать триггер для этого времени совершенно не могу понять.


Ответы (1 шт):

Автор решения: Иван

Насчет асинхронности не уверен, но есть такой вариант: Есть такая библиотека schedule

pip install schedule

Пример использования:

import schedule
import time

def job():
    print("I'm working...")


schedule.every().day.at("10:30").do(job)


while True:
    schedule.run_pending()
    time.sleep(1)

Где "10:30" пишете время, допустим получая его из БД. Где указывается функция job пишете свою функцию

→ Ссылка