diff --git a/discordbot/titanembeds/bot.py b/discordbot/titanembeds/bot.py index 83f8c1b..f5481a2 100644 --- a/discordbot/titanembeds/bot.py +++ b/discordbot/titanembeds/bot.py @@ -11,8 +11,7 @@ logging.getLogger('TitanBot') logging.getLogger('sqlalchemy') bot = commands.Bot(command_prefix=config['command-prefix']) -database = DatabaseInterface(bot) - +database = none def _cleanup(): try: bot.loop.run_until_complete(logout()) @@ -39,11 +38,11 @@ async def on_ready(self): game=discord.Game(name="Embed your Discord server! Visit https://TitanEmbeds.tk/"), status=discord.Status.online ) try: - await self.database.connect(config["database-uri"] + "?charset=utf8mb4") + database = DatabaseInterface(bot, config["database-uri"] + "?charset=utf8mb4") except Exception: self.logger.error("Unable to connect to specified database!") traceback.print_exc() - await self.logout() + await bot.logout() return if "no-init" not in sys.argv: for server in bot.servers: diff --git a/discordbot/titanembeds/database/__init__.py b/discordbot/titanembeds/database/__init__.py index bd63774..6b1e315 100644 --- a/discordbot/titanembeds/database/__init__.py +++ b/discordbot/titanembeds/database/__init__.py @@ -18,13 +18,9 @@ from titanembeds.database.unauthenticated_bans import UnauthenticatedBans class DatabaseInterface(object): # Courtesy of https://github.com/SunDwarf/Jokusoramame - def __init__(self, bot): + async def __init__(self, bot, dburi): self.bot = bot - self.engine = None # type: Engine - self._sessionmaker = None # type: sessionmaker - - async def connect(self, dburi): async with threadpool(): self.engine = create_engine(dburi, pool_recycle=10) self._sessionmaker = sessionmaker(bind=self.engine, expire_on_commit=False)