我想知道如何让机器人程序忽略其他机器人程序操作(角色更新,删除(并停止记录它们。这是我的代码:
let messagechannel = oldMember.guild.channels.find(r => r.name === config.logsChannel);
if (!messagechannel) return 'Canalul respectiv nu există!'
if (oldMember.roles.size < newMember.roles.size) {
const embed = new Discord.RichEmbed()
.setColor('#383b3d')
.setDescription(`${oldMember.user.tag} (${oldMember.user}) a fost actualizat.`)
.setAuthor(`${oldMember.user.tag}`, oldMember.user.avatarURL)
.addField(`ID`, oldMember.id)
.setFooter(`${bot.user.tag}`, bot.user.avatarURL)
.setTimestamp();
for (const role of newMember.roles.map(x => x.id)) {
if (!oldMember.roles.has(role)) {
embed.addField(`Schimbări`, "➕ " + `${newMember.guild.roles.get(role)}`);
}
}
messagechannel.send(embed);
}
if (oldMember.roles.size > newMember.roles.size) {
const embed = new Discord.RichEmbed()
.setColor('#383b3d')
.setDescription(`${oldMember.user.tag} (${oldMember.user}) a fost actualizat.`)
.setAuthor(`${oldMember.user.tag}`, oldMember.user.avatarURL)
.addField(`ID`, oldMember.id)
.setFooter(`${bot.user.tag}`, bot.user.avatarURL)
.setTimestamp()
for (const role of oldMember.roles.map(x => x.id)) {
if (!newMember.roles.has(role)) {
embed.addField( `Schimbări`, "❌ " + `${oldMember.guild.roles.get(role)}`);
}
}
messagechannel.send(embed);
}
if (newMember.nickname != oldMember.nickname) {
const embed = new Discord.RichEmbed()
.setColor('#383b3d')
.setDescription(`${oldMember.user.tag} (${oldMember.user}) a fost actualizat.`)
.setAuthor(`${oldMember.user.tag}`, oldMember.user.avatarURL)
.addField(`ID`, oldMember.id)
.addField(`Numele vechi`, `${oldMember.displayName}`)
.addField(`Numele nou`, `${newMember.displayName}`)
.setFooter(`${bot.user.tag}`, bot.user.avatarURL)
.setTimestamp()
messagechannel.send(embed);
}
});
有人能帮我吗?我对这些东西了解不多,所以我的小代码可能会派上用场。
有一种简单的方法可以通过对现有代码进行微小的更改来归档GuildMember
(newMember/oldMember(的User
属性具有属性bot
,如果该用户是否为机器人程序用户,则返回布尔值。
因此,您可以在这个if (oldMember.user.bot || newMember.user.bot) return
中执行您刚刚发送的代码的顶部操作。关于bot
物业的更多信息,您可以在这里找到