javascript - 统计命令显示嵌入中未定义的数据

标签 javascript discord.js

我的 stats 命令有一个小问题,即使我做了嵌入属性也是未定义

if (command == "stats") {
  let mcount = bot.users.size;
  let scount = bot.guilds.size;
  let tcount = bot.channels.filter(c => c.type === 'text').size;
  let vcount = bot.channels.filter(c => c.type === 'voice').size;
  let embed = new Discord.RichEmbed()
    .setDescription(`:white_check_mark: Statistics of Tommy`)
    .setColor("2c2f33")
    .addField('**Users:**`' + `${mcount}` + '`')
    .addField('**Servers:**`' + `${scount}` + '`')
    .addField('**Text channels:**`' + `${tcount}` + '`')
    .addField('**Voice channels:**`' + `${vcount}` + '`');
  message.channel.send({
    embed
  });
}

enter image description here

最佳答案

您的示例大部分都有效,但它显示的值与字段名称位于同一行,并且 undefined 文本出现在每个字段名称下方。

原因是 addField 方法有第二个参数,用于设置字段名称下方的文本(或字段值)。

在您的示例中,对 addField 的调用可以更改为:

.addField('**Users:**', `${mcount}`)
.addField('**Servers:**', `${scount}`)
.addField('**Text channels:**', `${tcount}`)
.addField('**Voice channels:**', `${vcount}`)

Example output in Discord

我找到了this tutorial for RichEmbed and addField这帮助我理解了它的用法。

关于javascript - 统计命令显示嵌入中未定义的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53162543/

相关文章:

javascript - Discord.js 关于消息命令不起作用

javascript - 有什么方法可以使 guildMemberUpdate 事件区分角色更改和昵称更改,而不是检测其中任何一个?

javascript - 带有阻塞代码的 setTimeout 行为

javascript - react native 返回图像函数

javascript - 尝试让机器人接受命令,discord.js

javascript - 使用 discord.js 发送消息

javascript - 收到表情符号 react 后的 Discord.js 消息

javascript - jquery 下拉菜单不起作用

javascript - Promise 构造函数是必要的还是可以避免?

javascript - 将 case 动态添加到 switch