我有一个不和谐机器人,只限于我和几个朋友。我想做一个eval命令,这样我就可以向他们炫耀了,因为他们对代码一无所知,但也可以让我在一般情况下使用(我有一个权限系统设置,所以它的使用仅限于我自己,不用担心)
我用谷歌搜索了很多次,最接近的是:
@commands.command()
@commands.guild_only()
async def eval(self, ctx, *, args):
result = eval(args)
await ctx.send(result)
但这不适用于多行代码。例如,我尝试了以下代码:
&eval a=2
b=2
c=a*b
print(str(a), str(b), str(c))
它返回此错误:Invalid syntax
,并指向a=2
作为错误。对于其他解决方案,比如来自创建者github的解决方案,它说eval() takes 1 positional argument but 2 were given
。我正在使用commands扩展名,eval
命令将位于一个cog中。谢谢
^{} 函数应该只执行一个表达式,对于动态执行,请使用^{}
您还可以使用
aioconsole.aexec
作为非阻塞方式^{} pypi page
相关问题 更多 >
编程相关推荐