1 回答
TA贡献1866条经验 获得超5个赞
这似乎srv.getServerName()是一个 Promise,您将其而不是解析值发送到您的频道。这就是为什么你会看到[object Promise]。
您可以先获取服务器名称并从其方法发送消息.then():
if (command === 'ping') {
srv
.getServerName()
.then(name => message.channel.send(name))
}
或者,您可以在发送回调之前将其设为函数async和响应await:
client.on('message', async (message) => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
const member = message.guild.members;
if (command === 'ping') {
const serverName = await srv.getServerName();
const embed = new MessageEmbed()
.setTitle('Embed title')
.setDescription(`This is the "${serverName}" server`);
message.channel.send(embed);
}
});
添加回答
举报