dj-embe/__main__.py

46 lines
1.0 KiB
Python
Raw Normal View History

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