【问题标题】:How can I find who deleted the role on "roleDeltete" in discord.js如何找到谁删除了 discord.js 中“roleDeltete”上的角色
【发布时间】:2022-01-07 02:26:36
【问题描述】:

我正在使用 discord.js 的 v13,当我运行它时 client.on('roleDelete', a => { console.log(a); }); 它只记录 deleted: true 不显示谁删除了。有人可以帮助我了解如何在“roleDelete”事件中找到删除角色的人吗?

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    使用审核日志。机器人需要权限:

    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 才能使用它
    • 我认为它有效,但我想知道为什么成员返回 null 机器人也有你在回答中所说的权限,但我真的不明白为什么找不到成员
    • 是否有“查看审核日志”权限?
    • 是的,它有管理员
    猜你喜欢
    • 2020-08-24
    • 1970-01-01
    • 2021-04-25
    • 2021-10-14
    • 2021-02-14
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2020-12-27
    相关资源
    最近更新 更多