头图

在Discord.js中,你可以通过监听"messageDelete"事件来追踪删除消息的用户。以下是一个简单的示例:

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('messageDelete', async (message) => {
    // 获取删除消息的审计日志
    const fetch = await message.guild.fetchAuditLogs({type: 'MESSAGE_DELETE'}).catch(() => {});

    // 获取执行删除操作的用户
    const deletionLog = fetch.entries.first();
    const executor = deletionLog.executor;

    console.log(`消息被 ${executor.tag} 删除.`);
});

client.login('你的token');

这个例子中,我们首先监听了"messageDelete"事件。当一个消息被删除时,这个事件就会被触发。然后,我们使用"fetchAuditLogs"方法获取了删除消息的审计日志。审计日志包含了执行特定操作的用户的信息。在这个例子中,我们获取了执行"MESSAGE_DELETE"操作的用户的信息。

请注意,这个例子假设删除消息的用户有权限在服务器上删除消息。如果一个普通用户删除了他们自己的消息,你可能无法通过审计日志获取到这个信息。在这种情况下,你可以直接从"messageDelete"事件获取到消息的作者。

client.on('messageDelete', async (message) => {
    console.log(`消息由 ${message.author.tag} 删除.`);
});

这个例子中,我们直接从被删除的消息中获取到了消息的作者。请注意,这个例子假设消息是由消息的作者自己删除的。

以上就是如何在Discord.js中追踪删除消息的用户的方法。希望对你有所帮助。


蓝易云
36 声望4 粉丝