【发布时间】:2021-03-18 01:17:51
【问题描述】:
所以基本上我现在有一个问题。我做了一个日志来显示在语音通道之间加入/离开/移动的人,现在我想扩展它的功能。所以我决定显示是否有人断开用户与频道的连接。但是我在获取审计日志时遇到了问题。如果我曾经断开某人的连接,之后有人自行离开,它仍然显示我断开了用户的连接。所以我在想是否可以通过获取审计日志的特定时间来解决这个问题,但我不知道该怎么做。这是显示断开连接和离开部分的代码的一部分。
else if (newUserChannel === null) {
// User leaves a voice channel
const fetchedLogs = await (oldMember, newMember).guild.fetchAuditLogs({
limit: 1,
type: 'MEMBER_DISCONNECT',
});
const disconnectLog = fetchedLogs.entries.first();
// console.log(disconnectLog)
const { executor } = disconnectLog;
const Disconnected = new Discord.MessageEmbed()
.setColor('#555555')
.setAuthor(`${executor.username}#${executor.discriminator}`, executor.displayAvatarURL())
.setDescription(`<@${executor.id}> **has disconnected user** <@${oldMember.id}>`)
.setTimestamp()
.setFooter(F1, F2)
const VCLeave = new Discord.MessageEmbed()
.setColor('#55FFFF')
.setAuthor(`${oldMember.member.user.tag}`, oldMember.member.user.displayAvatarURL({ dynamic: true }))
.setDescription(`<@${oldMember.id}> **has left voice channel \`${oldUserChannel.name}\`**`)
.setTimestamp()
.setFooter(F1, F2)
LogsChannel.send(Disconnected);
LogsChannel.send(VCLeave);
}
【问题讨论】:
标签: javascript discord discord.js