Modify eval to use traceback
This commit is contained in:
parent
b164694c43
commit
2fbc720ccc
1 changed files with 5 additions and 13 deletions
|
@ -5,11 +5,12 @@ import re
|
||||||
import ulid
|
import ulid
|
||||||
import base64
|
import base64
|
||||||
import subprocess
|
import subprocess
|
||||||
from inspect import getsource
|
|
||||||
import discord
|
import discord
|
||||||
import time
|
import time
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
import traceback
|
||||||
|
from inspect import getsource
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from jarvis.utils import build_embed, convert_bytesize
|
from jarvis.utils import build_embed, convert_bytesize
|
||||||
from jarvis.utils.field import Field
|
from jarvis.utils.field import Field
|
||||||
|
@ -271,9 +272,6 @@ class DevCog(commands.Cog):
|
||||||
@commands.command(pass_context=True, aliases=["eval", "exec", "evaluate"])
|
@commands.command(pass_context=True, aliases=["eval", "exec", "evaluate"])
|
||||||
@commands.is_owner()
|
@commands.is_owner()
|
||||||
async def _eval(self, ctx, *, code: str):
|
async def _eval(self, ctx, *, code: str):
|
||||||
silent = "-s" in code
|
|
||||||
|
|
||||||
code = self.prepare(code.replace("-s", ""))
|
|
||||||
args = {
|
args = {
|
||||||
"discord": discord,
|
"discord": discord,
|
||||||
"sauce": getsource,
|
"sauce": getsource,
|
||||||
|
@ -288,11 +286,7 @@ class DevCog(commands.Cog):
|
||||||
exec(f"async def func():{code}", args)
|
exec(f"async def func():{code}", args)
|
||||||
a = time()
|
a = time()
|
||||||
response = await eval("func()", args)
|
response = await eval("func()", args)
|
||||||
if (
|
if response is None or isinstance(response, discord.Message):
|
||||||
silent
|
|
||||||
or (response is None)
|
|
||||||
or isinstance(response, discord.Message)
|
|
||||||
):
|
|
||||||
del args, code
|
del args, code
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -300,11 +294,9 @@ class DevCog(commands.Cog):
|
||||||
f"```py\n{self.resolve_variable(response)}````{type(response).__name__} | {(time() - a) / 1000} ms`"
|
f"```py\n{self.resolve_variable(response)}````{type(response).__name__} | {(time() - a) / 1000} ms`"
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
await ctx.send(
|
await ctx.send(f"Error occurred:```\n{traceback.format_exc()}```")
|
||||||
f"Error occurred:```\n{type(e).__name__}: {str(e)}```"
|
|
||||||
)
|
|
||||||
|
|
||||||
del args, code, silent
|
del args, code
|
||||||
|
|
||||||
|
|
||||||
def setup(bot):
|
def setup(bot):
|
||||||
|
|
Loading…
Add table
Reference in a new issue