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);
}
});
添加回答
舉報