【发布时间】:2022-01-07 02:26:36
【问题描述】:
我正在使用 discord.js 的 v13,当我运行它时
client.on('roleDelete', a => { console.log(a); }); 它只记录 deleted: true 不显示谁删除了。有人可以帮助我了解如何在“roleDelete”事件中找到删除角色的人吗?
【问题讨论】:
标签: javascript discord.js
我正在使用 discord.js 的 v13,当我运行它时
client.on('roleDelete', a => { console.log(a); }); 它只记录 deleted: true 不显示谁删除了。有人可以帮助我了解如何在“roleDelete”事件中找到删除角色的人吗?
【问题讨论】:
标签: javascript discord.js
使用审核日志。机器人需要权限:
client.on("roleDelete", async role => {
let member;
try {
const log = await role.guild.fetchAuditLogs({
type: "ROLE_DELETE"
})
member = role.guild.members.resolve(log.entries.first().executor)
} catch (err) {
console.log(err) // simply for debugging
}
if (!member) member = null
})
现在当你访问member时,如果找不到执行者,它会显示null,但如果找到,则会显示删除角色的GuildMember。
【讨论】:
log.first is not a function 错误
.entries 才能使用它