Javascript 从审核日志中获取最新的ban
我正在尝试编写一个discord bot,它在审核日志中查找最新的禁令。Javascript 从审核日志中获取最新的ban,javascript,discord.js,Javascript,Discord.js,我正在尝试编写一个discord bot,它在审核日志中查找最新的禁令。 我目前有: client.on('guildbandd',guild=>{ guild.fetchAuditLogs().then(logs=>{ logs.entries.filter(l=>l.action==='MEMBER\u BAN\u ADD') .forEach(日志=>{ 如果(Date.now()-log.createdTimestamp>1000)返回 const logsChannel=guild.c
我目前有:
client.on('guildbandd',guild=>{
guild.fetchAuditLogs().then(logs=>{
logs.entries.filter(l=>l.action==='MEMBER\u BAN\u ADD')
.forEach(日志=>{
如果(Date.now()-log.createdTimestamp>1000)返回
const logsChannel=guild.channels.find(ch=>ch.name==='bans logs')
const embed=new Discord.RichEmbed()
.setDescription(`**新禁令**
**${log.executor.tag}**禁止**${log.target.tag}**)
.setColor(“红色”)
.setTimestamp(log.createdTimestamp)
logsChannel.send(嵌入)
})
})
})
我考虑过使用
.first()
,因为这是一个集合,但我不确定日志是否按日期排序 我认为最好的方法是获取审计日志并按日期排序,因为正如您所说,我不确定您是否总是按时间顺序获取它们。您需要:
- 获取所有审核日志
- 按日期对条目排序:您可以使用在属性中找到的
- 获取最新的,现在应该是第一个
client.on('guildbandd',guild=>{
guild.fetchAuditLogs()
。然后(日志=>{
让ban=logs.entries
.filter(e=>e.action==='MEMBER\u BAN\u ADD')
.sort((a,b)=>b.createdAt-a.createdAt)//逆时间顺序
.first()//获取第一个,它是最新的
//您现在可以使用“ban”中存储的条目发送嵌入
})
})
我不知道。我知道输出的消息。fetch
是按日期组织的,所以您可能应该试试它。我会试试的,谢谢^^