在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中追踪删除消息的用户的方法。希望对你有所帮助。