Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从审核日志中获取最新的ban_Javascript_Discord.js - Fatal编程技术网

Javascript 从审核日志中获取最新的ban

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

我正在尝试编写一个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.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
是按日期组织的,所以您可能应该试试它。我会试试的,谢谢^^