42 lines
No EOL
1.5 KiB
Python
42 lines
No EOL
1.5 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 = ["How could you do this to me!", "I tried my best...", "There's always next time", "Simply processed too hard", "Perhaps this will be fixed", "You found an easter egg! Wait no it's just an error..."]
|
|
|
|
|
|
class misc(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__)
|
|
print(error, file=sys.stderr)
|
|
error = traceback.format_exc(error)
|
|
random.shuffle(errormsg)
|
|
message = f"{errormsg[0]}\n```py\n{error[-1800:]}\n```\n Contact <@{self.bot.owner_id}> if the error persists"
|
|
try:
|
|
await interaction.response.send_message(message, ephemeral=True)
|
|
except:
|
|
await interaction.followup.send(message, ephemeral=True)
|
|
|
|
@nextcord.slash_command(
|
|
name="error",
|
|
description="DEBUG: throw an error",
|
|
guild_ids=[699285282276507708],
|
|
)
|
|
async def thrower(self, interaction: nextcord.Interaction):
|
|
errorlist = [1,2]
|
|
await interaction.response.send_message(errorlist[4])
|
|
|
|
def setup(bot: commands.Bot):
|
|
bot.add_cog(misc(bot)) |