def run(self):
log = Logger("GAF Bot")
log.handlers.append(StreamHandler(sys.stdout, bubble=True))
log.handlers.append(FileHandler("bot/logs/last-run.log", bubble=True, mode="w"))
self.logger = log
self.logger.notice("Logging started")
self.logger.notice("Bot process started")
with open("bot/config/defaults/default.guildconfig.json") as f:
self.default_guild_config = json.load(f)
self.logger.debug("Loaded default guild config")
self.logger.debug("Connecting to DB")
self.db_conn = sqlite3.connect("bot/config/guild_configs.db")
self.logger.notice("DB Connection Established")
self.db_cursor = self.db_conn.cursor()
self.db_cursor.execute("SELECT count(*) FROM sqlite_master WHERE type='table' AND name='serverSettings'")
exists = self.db_cursor.fetchone()
if not exists[0]:
self.logger.error("No table found in DB! Creating new one now")
self.db_cursor.execute('''CREATE TABLE serverSettings (id bigint, settings long)''')
self.logger.debug("Table created")
self.load_extension("bot.modules.core")
self.logger.notice("Loaded core module")
self.logger.notice("Loading other modules")
# This bar and the time.sleep() stuff is entirely useless
# Like completely
# Don't do this
# It just looks cool and that makes me happy but really this is terrible
# and a complete waste of time
time.sleep(0.5)
for cog in tqdm.tqdm(self.config["modules"].keys(),
desc="Loading modules"
):
self.load_extension(f"bot.modules.{cog.lower()}")
time.sleep(0.2)
time.sleep(0.5)
self.logger.debug("Completed loading modules")
self.logger.notice("Logging into Discord")
super().run(self.config["token"], reconnect=True)
评论列表
文章目录