Python 当没有人在语音频道中时,Discord py join voice命令

Python 当没有人在语音频道中时,Discord py join voice命令,python,discord.py,Python,Discord.py,我对discord.py的join命令有疑问。我有这个join函数,它工作得很好,但是我想对用户在不使用VC时输入命令的情况进行特定的检测 我有一条消息说明它是否成功加入,然后另一个选项是如果有人在VC中输入命令。我只需要一个elif,如果有人在没有语音呼叫的情况下输入命令。不知道该怎么做,如果有任何帮助,我们将不胜感激 voiceChannel = ctx.author.voice.channel voice = discord.utils.get(bot.voice_clients,

我对discord.py的join命令有疑问。我有这个join函数,它工作得很好,但是我想对用户在不使用VC时输入命令的情况进行特定的检测

我有一条消息说明它是否成功加入,然后另一个选项是如果有人在VC中输入命令。我只需要一个elif,如果有人在没有语音呼叫的情况下输入命令。不知道该怎么做,如果有任何帮助,我们将不胜感激

  voiceChannel = ctx.author.voice.channel
  voice = discord.utils.get(bot.voice_clients, guild = ctx.guild)
  if voice == None:
    await voiceChannel.connect()
    await ctx.send(f"Joined **{voiceChannel}**")\
  
  else:
    await ctx.send("I'm already in a VC")```

当用户不在频道中时,给出的错误是
AttributeError

您必须像这样重新构建代码:

@client.command()/@bot.command()/@commands.command()
异步def联接(ctx):
try:#构建一个try
[此处为您的代码]
除了AttributeError:#如果不是在语音频道中
return wait ctx.send(“你必须在一个频道中才能这样做!”)
  • [此处的代码]
    =只要插入缩进正确的
    if
    else
    代码即可
  • 根据使用的方法,您可能需要修改命令并添加一个
    self