import logging import os import threading import time import schedule import config import database from intradesk import reference from bot.telegram import start_bot from web.server import start_server os.makedirs(os.path.dirname(config.DB_FILE), exist_ok=True) logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", handlers=[ logging.StreamHandler(), logging.FileHandler(os.path.join(os.path.dirname(config.DB_FILE), "bot.log")), ], ) log = logging.getLogger(__name__) def main(): log.info("Starting IntradBot...") database.init_db() reference.seed_static() reference.load_all() threading.Thread(target=start_bot, daemon=True).start() threading.Thread(target=start_server, daemon=True).start() schedule.every().monday.at("10:00").do(reference.load_all) log.info("IntradBot is running. Waiting for webhooks...") while True: schedule.run_pending() time.sleep(1) if __name__ == "__main__": main()