【发布时间】:2022-08-19 19:53:58
【问题描述】:
我正在尝试创建一个防崩溃功能,但一时感到困惑,频道不返回作者。我怎样才能以另一种方式获得作者? 我尝试连接到 AuditLogEvent,但没有成功 我的代码:
const { AuditLogEvent } = requier(\'discord.js\')
const usersMap = new Map();
const LIMIT = 3;
const TIMES = 10000
bot.rest.on(\'channelDelete\', async channel => {
const fetchedLogs = await channel.guild.fetchAuditLogs({
limit: 1,
type: AuditLogEvent.ChannelDelete,
})
const deletionLog = fetchedLogs.entries.first();
const { executor, target } = deletionLog
if(channel.guild.id != \"940990129307263046\") return
if(usersMap.has(executor.id)) {
const userData = usersMap.get(executor.id);
const { lastDelete, timer } = userData;
let deleteCount = userData.deleteCount;
const tim = channel.createdTimestamp - lastDelete.createdTimestamp
if(tim > TIMES) {
usersMap.delete(executor.id)
} else {
++deleteCount;
if(parseInt(deleteCount) === LIMIT) {
executor.ban()
}
}
}
})
-
在从中提取
executor和target之前尝试将deletionLog记录到控制台 -
它返回用户和频道信息
-
那么,如果
deletionLog返回用户信息,你不应该拥有你需要的一切吗?
标签: javascript node.js discord.js