首页 > 解决方案 > 检查特定主题的类别中的每个频道

问题描述

如何检查特定主题的类别中的每个频道?

例如if(channel.topic == "Test")

我已经尝试在其他服务器中询问,但无法获得足够的帮助。

标签: javascriptnode.jsdiscord.js

解决方案


首先,您可以.fetch()通过其 ID 来分类频道。它返回一个承诺,因此您需要等待结果。类别频道有一个children属性。它是属于此类别的频道的集合。

在集合上,您可以.filter()返回具有“测试”主题的每个频道的结果:

const CATEGORY_ID = '813845580217434931';

const { children } = await client.channels.fetch(CATEGORY_ID);
const channelsWithTestTopic = children.filter((ch) => ch.topic === 'test');

console.log(channelsWithTestTopic);

如果主题是“测试”,您也可以使用该.each()方法并做一些事情:

const { children } = await client.channels.fetch(CATEGORY_ID);

children.each((ch) => {
  if (ch.topic === 'test') {
    console.log(ch.name);
  }
});

推荐阅读