【发布时间】:2022-10-01 01:25:23
【问题描述】:
我想为我的服务器制作一个日志系统。禁止/踢日志。 它正在工作,但有一个错误,当我踢成员时,它会发送 1 条消息;但是当我禁止一个成员时,它会发送 2 条不同的消息。
当我踢成员时:
当我禁止会员时:
我写了一些代码:
const { AuditLogEvent } = require(\'discord.js\');
// ban detector
client.on(\'guildBanAdd\', async (ban) => {
const fetchedLogs = await ban.guild.fetchAuditLogs({
limit: 1,
type: \'MEMBER_BAN_ADD\',
});
const banLog = fetchedLogs.entries.first();
if (!banLog) return;
const { executor, target } = banLog;
if (target.id === ban.user.id) {
const channel = client.channels.cache.get(\"954475961234116719\");
channel.send(`<@${ban.user.id}> was Banned by <@${executor.id}>`)
} else {
return;
}
});
还有一个:
// kick detector
client.on(\'guildMemberRemove\', async (member) => {
const fetchedLogs = await member.guild.fetchAuditLogs({
limit: 1,
type: \'MEMBER_KICK\',
});
const kickLog = fetchedLogs.entries.first();
if (!kickLog) return;
const { executor, target } = kickLog;
if (target.id === ban.user.id) {
const channel = client.channels.cache.get(\"954475961234116719\");
channel.send(`<@${member.user.id}> was kicked by <@${executor.id}>`)
} else return;
});
注意:我使用的是 Node.js v16+ 和 discord.js v13
标签: javascript node.js discord discord.js