You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord v14获取服务器频道列表失败问题求助

Discord v14 获取服务器频道列表解决方案

问题原因

Discord v14 中,guilds.fetch(GUILD_ID) 默认仅获取服务器的基础元数据,不会自动同步频道列表到缓存,因此直接访问 guild.channels.cache 会得到空集合。而单独调用 channels.fetch(channelId) 能成功,是因为该接口会单独请求目标频道的数据。

解决方法

方法1:主动拉取服务器所有频道

获取到 guild 对象后,调用 channels.fetch() 方法主动拉取所有频道数据到缓存:

let guild = await c[token].guilds.fetch(GUILD_ID);
// 主动拉取该服务器的所有频道
await guild.channels.fetch();
// 此时 channels.cache 就包含所有频道了
console.log(guild.channels.cache);

方法2:fetch guild时指定包含频道数据(可选)

部分场景下,可以在 fetch guild 时通过参数请求包含频道信息,但该参数仅返回部分频道类型数据,更可靠的方案是方法1:

let guild = await c[token].guilds.fetch(GUILD_ID, {
  includeChannels: true
});
console.log(guild.channels.cache);

权限验证

确保你的 Bot 账号在目标服务器中拥有 查看频道 权限,否则即使调用接口也无法获取频道列表。

内容的提问来源于stack exchange,提问作者monkeyUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:20:43