Javascript 使用discord js删除用户消息中的特定嵌入(或显示正确存储的嵌入)

Javascript 使用discord js删除用户消息中的特定嵌入(或显示正确存储的嵌入),javascript,api,discord.js,Javascript,Api,Discord.js,在注意到deviantArt在discord上的嵌入非常糟糕之后,我决定在我的bot中制作一个功能,用事件检测deviantArt url,并发送一个更好的嵌入 如果消息中有多个URL,它将检测Deviceart URL并发送其中的嵌入(bot) 我的问题是,有时,在同一条消息(用户)中,有些DA URL嵌入显示,有些则不显示。所以我只想删除DeviceArt嵌入以保留ArtStation嵌入 但是我在Discord js上发现的唯一东西是message.suppressEmbeds(true)

在注意到deviantArt在discord上的嵌入非常糟糕之后,我决定在我的bot中制作一个功能,用事件检测deviantArt url,并发送一个更好的嵌入

如果消息中有多个URL,它将检测Deviceart URL并发送其中的嵌入(bot)

我的问题是,有时,在同一条消息(用户)中,有些DA URL嵌入显示,有些则不显示。所以我只想删除DeviceArt嵌入以保留ArtStation嵌入

但是我在Discord js上发现的唯一东西是
message.suppressEmbeds(true)
,它删除消息的所有嵌入

我尝试过使用
message.edit()
,但对于非消息作者,这是未经授权的

我还尝试通过所有嵌入循环,并将所有URL存储在一个数组中,而不是DeviceArt。因此,我可以在运行
message.suppressEmbeds(true)
后重新发送它们,但重新发送的版本看起来有些不同。我还是不明白为什么

var messageEmbed=[];
var指数=0;
for(msg.embeds的变量嵌入){
如果(!embed.url.includes(“www.deviantart.com”){
messageEmbed[index]=newdiscord.messageEmbed(嵌入);
//也试过了
//messageEmbed[index]=embed;它做同样的事情
索引++;
} 
}

我需要:

  • 要找到一种方法,请删除消息的特定嵌入(用户)
  • 找到一种方法来正确显示存储的数据

不可能抑制单个嵌入

但您可以保存所有嵌入:

const embeds=message.embeds;
然后抑制嵌入:

message.suppressEmbeds(true);
并再次发送每个嵌入,检查是否要替换它们

for(让嵌入部分嵌入){
让modifiedEmbed=newdiscord.MessageEmbed(嵌入);
如果(embed.url==“DeviceArtUrl”){
//修改嵌入
}
message.channel.send(嵌入);
}
不幸的是,没有其他办法