问题描述
所以我正在研究我的机器人等等,我注意到服务器中的其他人有一个机器人,当你使用 eval 命令时,将输入和输出放在一个嵌入中,输出看起来像这是一个 setActivity 评估的东西。如果可能,我将如何将其实现到我的代码中,或者我会为此做些什么?
ClientPresence {
userID: null,guild: null,status: 'online',activities: [Array],clientStatus: null
}
这是我当前的代码 -
const discord = require('discord.js');
const { prefix } = require('./../../config.json');
module.exports = {
name: 'eval',description: 'eval a bit of code',async execute (client,message,args) {
if (message.author.id !== "559200051629654026") return;
if (message.content.startsWith(prefix + "eval")) {
var result = message.content.split(" ").slice(1).join(" ")
let evaled = eval(result);
const evalEmbed = new discord.MessageEmbed()
.setColor('RANDOM')
.addFields(
{ name: '**Input:**',value: `\`\`\`js\n${args}\`\`\``,inline: false },{ name: '**Output:**',value: `\`\`\`js\n${evaled}\`\`\``,inline: false }
)
message.channel.send(evalEmbed)
}
},};
我有它所以它输出一个嵌入,但它总是说[object,Promise]
解决方法
您可能已经猜到了,[object,Promise]
表示这里有一个承诺。唯一的解决方案是 await
这个 Promise。我想你可以让你的函数 async
和 await eval(result)
。