async def on_command_error(self, ctx: Context, error: Exception) -> NoReturn: """If an unexpected error occurs, it displays an... error message? Attributes: ----------- - `error` - error information """ s = await Settings(ctx.guild.id) lang = await s.get_field("locale", CONFIG["default_locale"]) STRINGS = Strings(lang) COMMANDS = Commands(lang) if isinstance(error, commands.CommandNotFound): return await ctx.message.add_reaction(CONFIG["no_emoji"]) if isinstance(error, commands.MissingRequiredArgument): prefix = await s.get_field("prefix", CONFIG["default_prefix"]) if ctx.command.cog.name != "Jishaku": embed = Utils.error_embed(STRINGS["etc"]["usage"].format( COMMANDS[ctx.command.cog.name]["commands"][ ctx.command.name]["usage"].format(prefix))) elif isinstance(error, commands.MissingPermissions): embed = Utils.error_embed(STRINGS["error"]["missing_perms"]) elif isinstance(error, commands.BotMissingPermissions): embed = Utils.error_embed( STRINGS["error"]["missing_bot_perms"].format(" ".join( "+ " + STRINGS["etc"]["permissions"][f"{perm}"] for perm in error.missing_perms))) elif isinstance(error, commands.CommandOnCooldown): embed = Utils.error_embed(STRINGS["error"]["cooldown"].format( error.retry_after)) elif isinstance(error, commands.errors.NSFWChannelRequired): embed = discord.Embed( title=STRINGS["error"]["nsfwerrortitle"], description=STRINGS["error"]["nsfwnotcorrectspot"], color=0xFF0000, ) embed.add_field( name=STRINGS["error"]["nsfwlogerror"], value=STRINGS["error"]["nsfwtraceback"].format(str(error)), inline=False, ) else: embed = discord.Embed(color=0xDD0000) embed.title = STRINGS["error"]["on_error_title"] embed.description = STRINGS["error"]["on_error_text"].format( str(error)) Logger.warn(str(error)) msg = await ctx.send(embed=embed) await asyncio.sleep(20) await msg.delete()
async def on_ready() -> NoReturn: for filename in os.listdir(filepath + "/cogs/"): if filename.endswith(".py"): bot.load_extension("cogs.{0}".format(filename[:-3])) await bot.change_presence(activity=discord.Game(name="...")) bot.load_extension("jishaku") Logger.done(STRINGS["bot_log"]["logged_as"].format(bot.user))
def setup(bot: Bot) -> NoReturn: bot.add_cog(General(bot)) Logger.cog_loaded(bot.get_cog("General").name)
def setup(bot: Bot) -> NoReturn: bot.add_cog(Admin(bot)) Logger.cog_loaded(bot.get_cog("Admin").name)
def setup(bot: Bot) -> NoReturn: bot.add_cog(Workers(bot)) Logger.cog_loaded(bot.get_cog("Workers").name)
def setup(bot: Bot) -> NoReturn: bot.add_cog(Utilities(bot)) Logger.cog_loaded(bot.get_cog("Utilities").name)
def setup(bot: Bot) -> NoReturn: bot.add_cog(Other(bot)) Logger.cog_loaded(bot.get_cog("Other").name)
def setup(bot): bot.add_cog(Music(bot)) Logger.cog_loaded(bot.get_cog("Music").name)
async def on_command(self, ctx: Context) -> NoReturn: """Logging commands to the console.""" Logger.command_used(ctx.message.author, ctx.command.name, ctx.message.guild)
def setup(bot: Bot) -> NoReturn: bot.add_cog(Listeners(bot)) now = datetime.datetime.now() time = now.strftime("%H:%M:%S") Logger.cog_loaded(bot.get_cog("Listeners").name)
def setup(bot: Bot) -> NoReturn: bot.add_cog(Prefs(bot)) Logger.cog_loaded(bot.get_cog("Prefs").name)
def setup(bot: Bot) -> NoReturn: bot.add_cog(Moderation(bot)) Logger.cog_loaded(bot.get_cog("Moderation").name)
def setup(bot): bot.add_cog(Workers(bot)) Logger.cog_loaded(bot.get_cog("Workers").name)