如何编辑嵌入作者?

时间:2020-03-16 22:07:17

标签: javascript node.js discord.js

我想编辑我的机器人发送的嵌入的作者。 消息是通过以下代码发送的:

task_chan.send('', {
embed: {
      color: task_colors[0x808080],
      title: 'Tache n°1',
      thumbnail: {
         url: 'https://...'
      },
      author: {
         name: 'Tache à prendre',
         icon_url: 'https://zupimages.net/up/20/12/xqsf.jpg'
      },
      fields:[{
         name: "Tache à faire :",
         value: "...",
      },{
         name: 'Avancement de la tache :',
         value: 'Non commencée'
      }]
      }
})

要编辑我尝试过的消息:

taken.embeds[0].author.icon_url = util.avatarURL
taken.embeds[0].author.name = util.username
taken.edit(new Discord.RichEmbed(taken.embeds[0]));

taken包含要编辑的消息和util个用户。

它只会更改名称... 我不明白为什么,但是在这两个代码示例之间author.icon_url没有定义。

我希望你能帮助我:)

1 个答案:

答案 0 :(得分:1)

方法channel.send返回一个promise,因此您可以使用.then(msg=>获取消息对象。

let testEmbed = {
      color: task_colors[0x808080],
      title: 'Tache n°1',
      thumbnail: {
         url: 'https://...'
      },
      author: {
         name: 'Tache à prendre',
         icon_url: 'https://zupimages.net/up/20/12/xqsf.jpg'
      },
      fields:[{
         name: "Tache à faire :",
         value: "...",
      },{
         name: 'Avancement de la tache :',
         value: 'Non commencée'
      }]
      }
}

task_chan.send({embed:testEmbed}).then(msg => {
    testEmbed.name = 'LOL'
    testEmbed.iconURL = 'SOMEURL'
    msg.edit({embed:testEmbed})
})

我建议您使用built-in methods创建嵌入,这更方便。