我想在 python 中制作一个不和谐的机器人
这是我的代码:
@app.event
async def on_message(message):
sendu = exec(message.content)
await message.channel.send(sendu)
如果我不和谐地发送消息并保存在 var sendu
中并使用 exec 函数运行 sendu
但每次我尝试我的代码示例时:random.randint(1, 100)
它返回此错误,我的代码有什么问题?
discord.errors.HTTPException: 400 Bad Request (error code: 50006): Cannot send an empty message
答案 0 :(得分:0)
根据错误信息Cannot send an empty message
,看起来sendu
是空的。确保它不是空的,然后再试一次!
答案 1 :(得分:0)
exec()
来自 programiz:
exec()
不返回任何值,它返回 None
。
exec() 方法执行动态创建的程序,它可以是字符串或代码对象。
考虑一种情况,您使用的是 Unix 系统(macOS、Linux 等)并且您导入了 os
模块。 os 模块提供了一种可移植的方式来使用操作系统功能,例如读取或写入文件。
如果您允许用户使用 exec(input())
输入值,则用户可以使用命令 os.system('rm -rf *')
发出更改文件甚至删除所有文件的命令。
尝试使用 eval()
代替,因为它有返回值但要小心!因为它类似于 exec()
!