Discord.js 当角色已分配或删除时,如何编辑不一致的嵌入消息

Discord.js 当角色已分配或删除时,如何编辑不一致的嵌入消息,discord.js,Discord.js,我正在开发一个Discord bot,我有一个嵌入程序,显示具有该角色的人的姓名,我想让它在每次分配或删除该角色时编辑该消息。非常感谢您的帮助您可以使用。无论何时更新,都会触发该事件。(这包括:添加角色、删除角色、更改昵称等) 下面是一个简单的例子: client.on(“guildMemberUpdate”,(oldGuildMember,newGuildMember)=>{ if(oldGuildMember.guild.id==“GuildID”){//检查事件是否在所需的公会内触发。 如

我正在开发一个Discord bot,我有一个嵌入程序,显示具有该角色的人的姓名,我想让它在每次分配或删除该角色时编辑该消息。非常感谢您的帮助您可以使用。无论何时更新,都会触发该事件。(这包括:添加角色、删除角色、更改昵称等)

下面是一个简单的例子:

client.on(“guildMemberUpdate”,(oldGuildMember,newGuildMember)=>{
if(oldGuildMember.guild.id==“GuildID”){//检查事件是否在所需的公会内触发。
如果(!oldGuildMember.roles.cache.equals(newGuildMember.roles.cache)){//检查角色是否已更改。
const Channel=client.channels.cache.get(“ChannelIUD”);//获取消息嵌入所在的通道。
const Role=oldGuildMember.guild.roles.cache.get(“RoleID”);//通过ID获取角色。
if(!Role | |!Channel)返回console.error(“无效的角色或通道”);
Channel.messages.fetch(“MessageID”)。然后(message=>{//通过ID获取作为消息嵌入的消息
const Embed=new Discord.MessageEmbed();//更新MessageEmbed。
Embed.addField(`Members of${Role.name}`,Role.Members.size>0?`${Role.Members.map(member=>member.user.tag).join(;\n”)};`:“此角色没有成员。”);
嵌入。设置颜色(“红色”);
message.edit(Embed.catch)(error=>console.error(“无法编辑消息”);
}).catch(error=>console.error(“无法获取消息”);
};
};
});

出于好奇,在这种情况下,
equals()
==
之间有什么区别吗?您好。谢谢你的邀请。
Collection
equals()
方法不同于使用等号检查相等性,因为集合可能是不同的对象,但包含相同的数据。使用三等号总是会返回false。我很感激你的答案,但我把它放在事件处理程序下,我填写了其他信息以查看它是否按照你显示的方式工作,但它显然没有任何作用:(我试着删除角色并为自己分配角色,但没有触发:/I我把它放在我的命令上,现在可以工作了,非常感谢,先生:)您能给我们看一下您的代码吗?