46 lines
1 KiB
Python
46 lines
1 KiB
Python
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()
|