如何使用索引访问特定的 discord.js 审计日志

Posted

技术标签:

【中文标题】如何使用索引访问特定的 discord.js 审计日志【英文标题】:How to access specific discord.js audit logs with an index 【发布时间】:2022-01-23 19:38:31 【问题描述】:

我一直在尝试寻找解决方案,了解如何访问特定索引处的特定 discord.js 审核日志。这是我的意思的一个例子:

fetchedLogs = await message.guild.fetchAuditLogs(
//"message" refers to the message that the client received
                    limit: 10,
                    type: MEMBER_BAN_ADD
                );

这是一个将fetchedLogs中每个日志的执行者、目标和日志原因记录到控制台的功能。

function logFilter(l)
    for (i = 0; i < 10; i++)
        const  executor, target, reason  = e.entries[i]
        const logResult = `Executor: $executor\n Target: $target\n Reason: $reason`
        console.log(logResult)
    


logFilter(fetchedLogs)

这是运行后的错误:

const  executor, target, reason  = l.entries[i]
        ^

TypeError: Cannot destructure property 'executor' of 'l.entries[i]' as it is undefined.

基本上,我遇到的问题是我无法参考特定的审核日志。这可以证明,因为当我运行它而不是 const executor, target, reason = l.entries[i] 时,它不会输出错误:

const  executor, target, reason  = l.entries.first()

感谢任何帮助。谢谢

【问题讨论】:

【参考方案1】:

那是因为它是 Collection。你可以使用Collection#at() 来解决这个问题:

const  executor, target, reason  = l.entries.at(i)

【讨论】:

以上是关于如何使用索引访问特定的 discord.js 审计日志的主要内容,如果未能解决你的问题,请参考以下文章

如何查找机器人在特定频道中发送的消息? [discord.js]

Discord.js 机器人审计日志问题 (v12)

如何通过 ID 获取特定服务器? [discord.js]

如何检查用户是不是具有特定角色 discord.js v12? [复制]

discord.js - 如何获取特定的收集消息

Discord.js - 删除特定频道