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

如何使用Discord.js获取服务器中所有语音频道的名称?

获取Discord服务器所有语音频道名称的实现方法

要获取服务器(guild)里的所有语音频道名称,核心是筛选出仅语音类型的频道——默认的频道列表会包含文本、分类等其他类型的频道,必须做过滤处理。以下是主流开发库的实现方式:

Python(discord.py)

假设你已经获取到了guild对象,通过频道类型筛选并提取名称:

import discord

# 方式1:通过ChannelType判断
voice_channel_names = [ch.name for ch in guild.channels if ch.type == discord.ChannelType.voice]

# 方式2:通过isinstance判断
voice_channel_names = [ch.name for ch in guild.channels if isinstance(ch, discord.VoiceChannel)]

# 输出所有语音频道名称
for name in voice_channel_names:
    print(name)

JavaScript(Discord.js)

如果使用Discord.js,通过filter方法筛选语音频道:

// 筛选服务器内的语音频道
const voiceChannels = guild.channels.cache.filter(ch => ch.type === 'GUILD_VOICE');
// 提取所有语音频道的名称
const channelNames = voiceChannels.map(ch => ch.name);

// 打印结果
console.log(channelNames);

你之前的代码大概率是没有做类型过滤,导致返回了全类型频道,而非仅语音频道。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:31:01