discord.py-перезапись объекта ‘VoiceClient’ не имеет атрибута ‘ws’

#python #discord.py #discord.py-rewrite

#python #discord.py

Вопрос:

Вот код:

     @client.command(pass_context=True)
    async def join(ctx):
        global voice1
        global channel1
        channel1 = ctx.author.voice.channel
        voice1 = get(client.voice_clients, guild=ctx.guild)
        if voice1 and voice1.is_connected():
            await voice1.move_to(channel1)
        else:
            await channel1.connect()
            await ctx.send(f"joined {channel1}")
  

Я получил эту ошибку:

     discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 
    'VoiceClient' object has no attribute 'ws'
  

Я пытаюсь создать музыкального бота

Комментарии:

1. Вы уверены, что разместили правильный код? Let voice_client — это экземпляр VoiceClient класса. Ваша ошибка означает, что вы пишете voice_client.ws() … В предоставленном вами коде нет ничего подобного. Не могли бы вы опубликовать полную обратную трассировку , может быть, там может быть подсказка?

Ответ №1:

 @bot.command(name='join', invoke_without_subcommand=True)
async def join(ctx):
   destination = ctx.author.voice.channel
   if ctx.voice_state.voice:
     await ctx.voice_state.voice.move_to(destination)
     return

   ctx.voice_state.voice = await destination.connect()
   await ctx.send(f"Joined {ctx.author.voice.channel} Voice Channel")
  

попробуйте использовать это
, я думаю, так и должно быть, потому что недавно discord изменил свою документацию и представил некоторые новые функции.