@artemgoruchev

Как исправить данную ошибку?

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

я думаю проблема в следующей @client.command (отключение бота)

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

#Подключение бота к голосовому
@client.command()
async def connect(ctx):
    if(ctx.author.voice):
        channel = ctx.message.author.voice.channel
        await channel.connect()
        await ctx.send("Подключён")
    else:
        await ctx.send("Что-то пошло не так!")

#Отключение бота от голосового
@client.command()
async def disconnect(ctx):
    if(ctx.voice.client):
        await ctx.guild.voice_client.disconnect()
        await ctx.send("Отключён")
    else:
        await ctx.send("Что-то пошло не так!")
  • Вопрос задан
  • 116 просмотров
Решения вопроса 2
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Что-то мне подсказывает, что в ctx.voice.client
у объекта ctx нет метода voice. Потому и ошибка.
Почитайте руководство по discord.py - там ясно видно, что метод .voice есть у объектов типа member, guild и client кажется, а у ctx такого метода нет.
Но у ctx есть метод-шорткат .voice_client. Может, он там должен быть?
Ответ написан
@artemgoruchev Автор вопроса
async def disconnect(ctx):
    if(ctx.voice_client):
        await ctx.guild.voice_client.disconnect()
        await ctx.send("Отключён")
    else:
        await ctx.send("Что-то пошло не так!")


проблема уже решена! я просто не досмотрел свой код. за место voice.client надо voice_client
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы