dj-embe/__main__.py
2023-04-28 01:19:18 +02:00

46 lines
1.0 KiB
Python

from toml import TomlDecodeError
from discord import Bot, Intents
from config import Config
from logger import Logger
from framework import Redis, Youtube
from cog import Greetings, Music
from service import QueueManager
from usecase import Sources
if __name__ == "__main__":
# Read Config
try:
config = Config("config.toml")
except TomlDecodeError as error:
print("Config/DecodeError : %s" % error)
exit(1)
except KeyError as error:
print("Config/KeyError : %s" % error)
exit(2)
# Set Logger
logger = Logger(config.logging)()
# Redis Client
redis = Redis(logger, config.redis)
# Queue Manager
queueManager = QueueManager(redis)
# Bot Init
bot = Bot(intents=Intents.default())
# Youtube Client
youtube = Youtube(bot.loop, config.youtube)
# Sources
sources = Sources(youtube)
# Add Cogs
bot.add_cog(Greetings(bot, logger, redis))
bot.add_cog(Music(bot, logger, queueManager, sources))
# Run
bot.run(config.discord.token)