import asyncio
import os
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from pytz import timezone
from tg_crawler import TelegramChannelMonitor
from dotenv import load_dotenv

load_dotenv()

TelegramChannelMonitor.set_db_config({
    'host': os.getenv("HOST"),
    'port': os.getenv("PORT"),
    'database': os.getenv("DBNAME"),
    'user': os.getenv("USER"),
    'password': os.getenv("PASSWORD")
})

monitor = TelegramChannelMonitor(
    session_name='session_trueosint',
    api_id=os.getenv("TELETHON_API_ID"),
    api_hash=os.getenv("TELETHON_API_HASH"),
    channel_username='trueosint',
    source_name='trueosint'
)

def main():
    scheduler = AsyncIOScheduler()
    scheduler.add_job(monitor.fetch_last_post, "cron", hour=9, minute=0, timezone=timezone("Europe/Moscow"))
    scheduler.start()

    asyncio.get_event_loop().run_forever()

if __name__ == '__main__':
    main()