Javascript guild.channels.cache.array()返回一个空数组。与client.channels.cache.array()相同
此代码返回一个空数组-Javascript guild.channels.cache.array()返回一个空数组。与client.channels.cache.array()相同,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,此代码返回一个空数组-[]为什么?公会有很多频道 “严格使用” 从'discord.js'导入{Client} const bot=新客户端 bot.login('token') bot.guilds.fetch('826581310151196712')。然后(服务器=>{ console.log(server.channels.cache.array()) }) 我认为您需要在阵列上循环或分散它 bot.guilds.fetch('826581310151196712') .then({ch
[]
为什么?公会有很多频道
“严格使用”
从'discord.js'导入{Client}
const bot=新客户端
bot.login('token')
bot.guilds.fetch('826581310151196712')。然后(服务器=>{
console.log(server.channels.cache.array())
})
我认为您需要在阵列上循环或分散它
bot.guilds.fetch('826581310151196712')
.then({channels:{cache:{array}}}=>{
for(数组()的常量通道){
console.log(channel.id);
}
})
也许你可以试试:
[…array()]
?你不能直接用那种方法。最好的方法是过滤要显示的通道类型,然后映射它
const T = client.guilds.cache.get(args[0]);
if (!T) return;
console.log(T.channels.cache.filter(C=> C.type === 'text' || C.type === 'voice').map(Chan => Chan.name));
对于全新的服务器,这将输出:
[“一般”、“一般”]