Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
Node.js 正在尝试从频道id获取帮会_Node.js_Discord.js - Fatal编程技术网

Node.js 正在尝试从频道id获取帮会

Node.js 正在尝试从频道id获取帮会,node.js,discord.js,Node.js,Discord.js,我尝试过以下代码: module.exports = async (client, channel) => { if (channel.type === "dm" || channel.type === "group") return; var guild; client.guilds.forEach(e => { e.fetchAuditLogs({type: 'CHANNEL_DELETE'}) .then(audit => {

我尝试过以下代码:

module.exports = async (client, channel) => {
  if (channel.type === "dm" || channel.type === "group") return;

  var guild;
  client.guilds.forEach(e => {
    e.fetchAuditLogs({type: 'CHANNEL_DELETE'})
      .then(audit => {
        if (audit.entries.first().id === channel.id) guild = e;
      });
  });
  if (!guild) return;
};
我想获得通过事件参数传递的频道id的名称。
这是在channelDelete事件中,因此我无法执行
client.channels.get(channel.id)
,因为该id在该集合中不存在。我需要从审计日志中获取信息

问题是,我觉得这是对API的过度使用,或者可能有一种更好的方法,而不必遍历这个机器人所在的每个帮会

此外,实际代码也不能按预期工作。如果(!guild)返回,它似乎到达了
在实际循环完成之前,这意味着它将始终返回

那么,我该如何使代码一步一步地流动,这样它就不会一直返回,或者在代码不那么密集的地方改进代码(如果此方法在API/主机上是密集的)。

您可以简单地引用,而不是试图从客户机的缓存中获取公会

为了便于将来参考,若要跳过循环中的值,应使用而不是
return