如何发送discord.js随机嵌入?

时间:2021-01-08 00:04:36

标签: random discord.js bots embed

我正在寻找一种代码,当有人键入命令时,它可以让我发送我创建的随机嵌入。目前,使用我拥有的代码,所有嵌入都被发送,但我希望机器人只发送随机一个,而不是全部 4 个。这可能吗?

module.exports = class PizzaTest extends BaseCommand {
  constructor() {
    super('pizzatest', 'fun', []);
  }

  async run(client, message, args) {
      const capreseEmbed = new Discord.MessageEmbed()
      .setTitle('• Attention, pizza en livraison!  ?')
      .setDescription(`<@${message.author.id}>, il semblerait que ta commande soit prête. Tu viens de recevoir une magnique pizza **Caprese** ! \n\n *Les ingrédients sont: Mozarella, Olives, Tomates Séchées & Basilic.*`)
      .setThumbnail('https://i.imgur.com/McSXASC.png')
      .setFooter(message.author.username, message.author.displayAvatarURL())
      .setTimestamp()
      .setColor("#baff58");

      const reineEmbed = new Discord.MessageEmbed()
      .setTitle('• Attention, pizza en livraison!  ?')
      .setDescription(`<@${message.author.id}>, il semblerait que ta commande soit prête. Tu viens de recevoir une magnique pizza **Reine** ! \n\n *Les ingrédients sont: Mozarella, Jambon, Champignons & Basilic.*`)
      .setThumbnail('https://i.imgur.com/AKStODY.png')
      .setFooter(message.author.username, message.author.displayAvatarURL())
      .setTimestamp()
      .setColor("#baff58");

      const vegeEmbed = new Discord.MessageEmbed()
      .setTitle('• Attention, pizza en livraison!  ?')
      .setDescription(`<@${message.author.id}>, il semblerait que ta commande soit prête. Tu viens de recevoir une magnique pizza **Végétarienne** ! \n\n *Les ingrédients sont: Mozarella, Olives, Poivrons, Champignons & Basilic.*`)
      .setThumbnail('https://i.imgur.com/U0qrSk9.png')
      .setFooter(message.author.username, message.author.displayAvatarURL())
      .setTimestamp()
      .setColor("#baff58");

      const andalouseEmbed = new Discord.MessageEmbed()
      .setTitle('• Attention, pizza en livraison!  ?')
      .setDescription(`<@${message.author.id}>, il semblerait que ta commande soit prête. Tu viens de recevoir une magnique pizza **Andalouse** ! \n\n *Les ingrédients sont: Mozarella, Poivrons, Boulette de Boeuf & Sauce Andalouse.*`)
      .setThumbnail('https://i.imgur.com/dvgkC4K.png')
      .setFooter(message.author.username, message.author.displayAvatarURL())
      .setTimestamp()
      .setColor("#baff58");


  message.channel.send(capreseEmbed).catch(err => console.log(err));
  message.channel.send(reineEmbed).catch(err => console.log(err));
  message.channel.send(vegeEmbed).catch(err => console.log(err));
  message.channel.send(andalouseEmbed).catch(err => console.log(err));
  }
}

我知道我可以使用像 .setDescription(description) 这样的东西,但我需要描述和缩略图匹配,所以我猜这行不通?

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,而且非常简单:

      const capreseEmbed = new Discord.MessageEmbed()
      .setTitle('• Attention, pizza en livraison!  ?')
      .setDescription(`<@${message.author.id}>, il semblerait que ta commande soit prête. Tu viens de recevoir une magnique pizza **Caprese** ! \n\n *Les ingrédients sont: Mozarella, Olives, Tomates Séchées & Basilic.*`)
      .setThumbnail('https://i.imgur.com/McSXASC.png')
      .setFooter(message.author.username, message.author.displayAvatarURL())
      .setTimestamp()
      .setColor("#baff58")

      const reineEmbed = new Discord.MessageEmbed()
      .setTitle('• Attention, pizza en livraison!  ?')
      .setDescription(`<@${message.author.id}>, il semblerait que ta commande soit prête. Tu viens de recevoir une magnique pizza **Reine** ! \n\n *Les ingrédients sont: Mozarella, Jambon, Champignons & Basilic.*`)
      .setThumbnail('https://i.imgur.com/AKStODY.png')
      .setFooter(message.author.username, message.author.displayAvatarURL())
      .setTimestamp()
      .setColor("#baff58")

      const vegeEmbed = new Discord.MessageEmbed()
      .setTitle('• Attention, pizza en livraison!  ?')
      .setDescription(`<@${message.author.id}>, il semblerait que ta commande soit prête. Tu viens de recevoir une magnique pizza **Végétarienne** ! \n\n *Les ingrédients sont: Mozarella, Olives, Poivrons, Champignons & Basilic.*`)
      .setThumbnail('https://i.imgur.com/U0qrSk9.png')
      .setFooter(message.author.username, message.author.displayAvatarURL())
      .setTimestamp()
      .setColor("#baff58")

      const andalouseEmbed = new Discord.MessageEmbed()
      .setTitle('• Attention, pizza en livraison!  ?')
      .setDescription(`<@${message.author.id}>, il semblerait que ta commande soit prête. Tu viens de recevoir une magnique pizza **Andalouse** ! \n\n *Les ingrédients sont: Mozarella, Poivrons, Boulette de Boeuf & Sauce Andalouse.*`)
      .setThumbnail('https://i.imgur.com/dvgkC4K.png')
      .setFooter(message.author.username, message.author.displayAvatarURL())
      .setTimestamp()
      .setColor("#baff58")

      var embedArr = [capreseEmbed, reineEmbed, vegeEmbed, andalouseEmbed];
      let randomEmbed = embedArr[Math.floor(Math.random() * embedArr.length)];
      message.channel.send(randomEmbed);

首先我们定义了所有的嵌入,就像你已经做的那样。然后我们将它们存储在一个数组中。从该数组中,我们希望从随机索引中获取一个值。这是在 randomEmbed 中完成的。然后我们将随机嵌入发送到通道中。