99 lines
2.6 KiB
Python
99 lines
2.6 KiB
Python
import discord
|
|
import os
|
|
import json
|
|
from discord.ext import commands
|
|
from util import logging, config
|
|
|
|
# Bot URL https://discordapp.com/api/oauth2/authorize?client_id=657709911337074698&permissions=314432&scope=bot
|
|
|
|
# The config must be loaded before everything else
|
|
total = 0
|
|
failed = 0
|
|
|
|
logging.info("Starting up...\n")
|
|
logging.info("--- Loading configs ---\n")
|
|
if not config.load("config.json"):
|
|
failed += 1
|
|
total += 1
|
|
|
|
logging.info("Finished loading configs.")
|
|
logging.info(f"Total {total}, Failed {failed}\n")
|
|
|
|
|
|
client = commands.Bot(command_prefix=config.settings["prefix"], case_insensitive=True)
|
|
|
|
|
|
@client.command()
|
|
@commands.is_owner()
|
|
async def load(ctx : commands.Context, extension : str):
|
|
try:
|
|
client.load_extension(f"cogs.{extension}")
|
|
await ctx.message.add_reaction("👍")
|
|
except:
|
|
await ctx.message.add_reaction("👎")
|
|
|
|
@client.command()
|
|
@commands.is_owner()
|
|
async def unload(ctx : commands.Context, extension : str):
|
|
try:
|
|
client.unload_extension(f"cogs.{extension}")
|
|
await ctx.message.add_reaction("👍")
|
|
except:
|
|
await ctx.message.add_reaction("👎")
|
|
|
|
@client.command()
|
|
@commands.is_owner()
|
|
async def reload(ctx : commands.Context, extension : str):
|
|
try:
|
|
client.reload_extension(f"cogs.{extension}")
|
|
await ctx.message.add_reaction("👍")
|
|
except:
|
|
await ctx.message.add_reaction("👎")
|
|
|
|
|
|
@client.event
|
|
async def on_ready():
|
|
# Try to load cogs
|
|
logging.info("--- Loading cogs ---\n")
|
|
|
|
total = 0
|
|
failed = 0
|
|
# Load all cogs on startup
|
|
# Load "fun" cogs
|
|
for filename in os.listdir("./cogs/fun"):
|
|
if filename.endswith(".py"):
|
|
total += 1
|
|
cog = f"cogs.fun.{filename[:-3]}"
|
|
|
|
try:
|
|
client.load_extension(cog)
|
|
logging.info(f"Trying {cog}.....Success!")
|
|
except Exception as e:
|
|
logging.info(f"Trying {cog}.....Failed!")
|
|
logging.error(str(e))
|
|
failed += 1
|
|
|
|
|
|
# Load "api" cogs
|
|
for filename in os.listdir("./cogs/api"):
|
|
if filename.endswith(".py"):
|
|
total += 1
|
|
cog = f"cogs.api.{filename[:-3]}"
|
|
|
|
try:
|
|
client.load_extension(cog)
|
|
logging.info(f"Trying {cog}.....Success!")
|
|
except Exception as e:
|
|
logging.info(f"Trying {cog}.....Failed!")
|
|
logging.error(str(e))
|
|
failed += 1
|
|
|
|
logging.info("Finished loading cogs.")
|
|
logging.info(f"Total {total}, Failed {failed}\n")
|
|
|
|
logging. info("Deep Blue finished loading.")
|
|
|
|
|
|
|
|
key = config.settings["client_key"]
|
|
client.run(key) |