替代args.join(“”)?

时间:2019-01-04 06:45:52

标签: javascript node.js discord discord.js

我正在尝试使用discord.js创建一个关于discord的民意测验,尽管我大多数情况下都能使它工作,但是有一件我不知道的事情。

这是我的代码:

emojiArray = [
  ":number_one:530589007504080917",
  ":number_two:530588366719287306",
  ":number_three:530589050311016458",
  ":number_four:530589092329816075",
  ":number_five:530589126643286056",
  ":number_six:530589166946222090",
  ":number_seven:530589218796208129",
  ":number_eight:530589262471626762",
  ":number_nine:530589298504892417"
];
let reactionNumber = args[0];
embed = new Discord.RichEmbed()
  .setColor(0xffffff)
  .setFooter("note: any reactions that are not part of the poll will be removed")
  .setDescription(args.join(" "))
  .setTitle(`Poll created by ${message.author.username}`);
message.channel.send(embed).then(async function(message) {
  for (x = 0; x < reactionNumber; x++) {
    await message.react(emojiArray[x]);
  }
  reactionNumber.replace(args[0], '');
}).catch(function() {
  message.channel.sendMessage(err);
});
message.delete({
  timeout: 1000
});

用户将输入命令:[prefix]poll [number of reactions] [description]
看起来像这样:p!poll 9 test

目前这是结果:

Picture of the result of the code

您会注意到命令中的“ 9”也在描述中,我无法弄清楚该如何解决。

我唯一尝试过的是:

reactionNumber.replace(args[0],'');

我希望删除“ 9”或不再需要的任何输入内容。有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

reactionNumber之后更改setDescription不会做任何事情;相反,请使用以下内容更改此行:

.setDescription(args.join(" ")) // WRONG ✗
.setDescription(args.splice(1).join(" ")) // RIGHT ✓