39 lines
910 B
Python
39 lines
910 B
Python
import asyncio
|
|
import logging
|
|
from os import getpid
|
|
|
|
from libbot import sync
|
|
|
|
from classes.pycordbot import PycordBot
|
|
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 sync.config_get("debug") else logging.INFO,
|
|
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(sync.config_get("bot_token", "bot"))
|
|
except KeyboardInterrupt:
|
|
logger.warning("Forcefully shutting down with PID %s...", getpid())
|
|
await bot.close()
|
|
|
|
|
|
asyncio.create_task(main())
|