我正在使用不和谐.js。我有一个 eval 命令(代码:
if (cmd === `${prefix}eval`) {
if (message.author.id !== "627835075064627221") return;
function clean(text) {
if (typeof (text) === "string")
return text.replace(/`/g, "`" + String.fromCharCode(8203)).replace(/@/g, "@" + String.fromCharCode(8203));
else
return text;
}
try {
const code = message.content.split(" ").slice(1).join(" ");
let evaled = eval(code);
if (typeof evaled !== "string")
evaled = require("util").inspect(evaled)
let evalCode = new Discord.MessageEmbed()
.setTitle("**EVAL**")
.setDescription(clean(evaled), { code: "xl" })
.setColor("RANDOM")
.setFooter("Spood's Lounge | Eval")
message.channel.send({ embed: evalCode });
} catch (err) {
message.channel.send(``ERROR` ```xln${clean(err)}n````);
}
}
当我对评估做某事时message.reply("hello world!")
它只会返回Promise { < Pending > }
.当我尝试做其他事情时,例如 evalconsole.log("hello world!")
它返回未定义。
如何修复它以返回实际值?
您需要等待承诺使用await
let evaled = await eval(code);