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
相关产品推荐
相关产品推荐

