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)