mmolbbot/cogs/error.py

34 lines
1.2 KiB
Python

import nextcord
from nextcord.ext import commands, application_checks
from nextcord import TextInputStyle
import traceback
import random
import aiosqlite as sqlite3
import aiohttp
from urllib.parse import urlparse
import os
import sys
errormsg = ["Well maybe this won't happen next time"]
class error(commands.Cog):
def __init__(self, bot: commands.Bot):
self.bot = bot
@commands.Cog.listener('on_application_command_error')
async def errorhandler(self, interaction: nextcord.Interaction, error: nextcord.DiscordException):
error = traceback.format_exception(type(error), error, error.__traceback__)
random.shuffle(errormsg)
strerror = "".join(error)
print(strerror, file=sys.stderr)
await self.bot.application_info()
message = f"{errormsg[0]}\n```py\n{strerror[-1750:]}\n```\n Contact <@{self.bot.owner_id}> if the error persists or open an issue at <https://github.com/insertapp/mmolbbot/issues>"
try:
await interaction.response.send_message(message, ephemeral=True)
except:
await interaction.followup.send(message, ephemeral=True)
def setup(bot: commands.Bot):
bot.add_cog(error(bot))