I have a discord bot that is limited to me and a few friends. I want to make an eval command so I can show off to them since they know nothing about code, but also for me to use in general (I have a permissions system setup so it's usage is limited to me, don't worry).
I've done a lot of googling and the closest I've gotten is this:
@commands.command()
@commands.guild_only()
async def eval(self, ctx, *, args):
result = eval(args)
await ctx.send(result)
This doesn't work with multi-line code though. For example, I tried this code:
&eval a=2
b=2
c=a*b
print(str(a), str(b), str(c))
It returns this error: Invalid syntax
and points to a=2
as the error. With other solutions like the ones from the creator's github, it said that eval() takes 1 positional argument but 2 were given
. I'm using the commands extension and the eval
command will be in a cog. Thanks!