Javelina/main.py

39 lines
913 B
Python
Raw Normal View History

2024-02-04 00:55:51 +01:00
import asyncio
import logging
from os import getpid
from libbot.utils import config_get
2024-02-04 00:55:51 +01:00
from classes.pycord_bot import PycordBot
2024-02-04 00:55:51 +01:00
from modules.extensions_loader import dynamic_import_from_src
from modules.scheduler import scheduler
# Import required for uvicorn
from api.app import app
logging.basicConfig(
level=logging.DEBUG if config_get("debug") else logging.INFO,
2024-02-04 00:55:51 +01:00
format="%(name)s.%(funcName)s | %(levelname)s | %(message)s",
datefmt="[%X]",
)
logger = logging.getLogger(__name__)
async def main():
bot = PycordBot(scheduler=scheduler)
bot.load_extension("cogs")
# Import API modules
dynamic_import_from_src("api.extensions", star_import=True)
try:
await bot.start(config_get("bot_token", "bot"))
2024-02-04 00:55:51 +01:00
except KeyboardInterrupt:
logger.warning("Forcefully shutting down with PID %s...", getpid())
await bot.close()
asyncio.create_task(main())