【问题标题】:using a message collector to set embed fields使用消息收集器设置嵌入字段
【发布时间】:2021-07-08 13:21:38
【问题描述】:

我有一个消息收集器,我正在尝试使用嵌入中收集的数据作为标题、描述和嵌入颜色。到目前为止,我已经让它工作,以便每个值返回一个单独的嵌入。

我相信这是由于第 38 行中的 forEach,但是我尝试过的所有其他内容(删除该行,什么都不返回,更改为 collectd.messages(value) throws value is not defined,collected.messages throws it not一个函数)不起作用

我不确定将其更改为什么以获得我想要的结果(这是设置嵌入标题的第一个答案,第二个是嵌入描述,第三个是嵌入颜色)。

代码是


module.exports = {
    name: "embed",
    description: "Sets up a reaction role message!",
    async execute(client, message, args, Discord) {
    const questions = [
      'What is the message title?',
      'What is the message description?',
      'What is the embed colour?',
    ]

    let counter = 0

    const filter = (m) => !m.author.bot

    const collector = new Discord.MessageCollector(message.channel, filter, {
      max: questions.length,
      time: 60000 * 5, // 5m
    })

    message.channel.send(questions[counter++])
    collector.on('collect', (m) => {
      if (counter < questions.length) {
        m.channel.send(questions[counter++])
      }
    })

    collector.on('end', (collected) => {
      console.log(`Collected ${collected.size} messages`)

      if (collected.size < questions.length) {
        message.reply('The command has timed out')
        return
      }

      let counter = 0
      collected.forEach((value) => {
        console.log(value.content)
        let embed = new Discord.MessageEmbed()
            .setTitle(value.content)
            .setDescription(value.content)
            .setColor(value.content)
         
         
         let messageEmbed = message.channel.send(embed);
       
      })
      })
    }
    }```
    

Any help would be greatly appreciated

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    我需要做的就是设置一个变量来查看我在计数中的位置,然后使用该变量来设置字段

          let i = 0;
          collected.forEach((value) => {
            i++;
            if (i === 1) embed.setTitle(value.content);
            else if (i === 2) embed.setDescription(value.content);
            else if (i === 3) embed.setColor(value.content);
          })
    
          let messageEmbed = message.channel.send(embed);```
    

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 2019-09-14
      • 2021-03-31
      • 2020-12-30
      • 1970-01-01
      • 2021-04-14
      • 2020-11-02
      • 2013-12-15
      • 1970-01-01
      相关资源
      最近更新 更多