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

Discord.py如何获取Bot当前所在的Discord语音频道

获取Discord Bot当前所在语音频道的实现方法

你现有代码的逻辑是获取触发命令的用户所在的语音频道,要得到Bot自身的语音频道信息,只需访问当前服务器的Bot语音连接实例即可。

核心逻辑

discord.py及其衍生框架(pycord、nextcord等)中,每个服务器下的Bot语音连接会存储在ctx.guild.voice_client属性中,该实例的channel字段即为Bot当前连接的语音频道,若Bot未加入任何语音频道,voice_client会返回None。

完整实现代码

@client.command()
async def get_bot_vc(ctx):
    # 处理Bot未连语音的边界情况,避免报错
    if not ctx.guild.voice_client:
        await ctx.send("Bot当前未加入任何语音频道")
        return
    bot_vc_channel = ctx.guild.voice_client.channel
    print(bot_vc_channel)
    await ctx.send(f"Bot当前所在语音频道:{bot_vc_channel.name}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:27:04