This repository has been archived on 2024-08-21. You can view files and clone it, but cannot push or open issues or pull requests.
TelegramPoster/modules/scheduler.py

19 lines
854 B
Python
Raw Normal View History

2023-01-10 14:06:24 +02:00
from datetime import datetime, timedelta
2023-01-10 13:52:44 +02:00
from apscheduler.schedulers.asyncio import AsyncIOScheduler
2023-02-17 22:54:30 +02:00
from pytimeparse.timeparse import timeparse
2023-01-10 13:52:44 +02:00
from modules.utils import configGet
from modules.sender import send_content
2023-01-10 14:06:24 +02:00
from modules.commands_register import register_commands
from modules.app import app
2023-01-10 13:52:44 +02:00
scheduler = AsyncIOScheduler()
if configGet("post", "mode"):
2023-02-17 22:54:30 +02:00
if configGet("use_interval", "posting"):
scheduler.add_job(send_content, "interval", seconds=timeparse(configGet("interval", "posting")), args=[app])
else:
for entry in configGet("time", "posting"):
dt_obj = datetime.strptime(entry, "%H:%M")
scheduler.add_job(send_content, "cron", hour=dt_obj.hour, minute=dt_obj.minute, args=[app])
2023-01-10 14:06:24 +02:00
scheduler.add_job(register_commands, "date", run_date=datetime.now()+timedelta(seconds=10), args=[app])