#discord.py
Вопрос:
Я получаю эту ошибку консоли, когда пытаюсь запустить команду play.
Код, который я использовал, это:
@client.command(pass_context=True)
async def play(ctx, url):
guild = ctx.message.guild
voice_client = guild.voice_client
player = await voice_client.create_ytdl_player(url)
players[server.id] = player
player.start()
Я позаботился о том, чтобы discord.py, ffmpeg и youtube_dl все обновлены, и я получаю ту же ошибку.
Комментарии:
1. Похоже
voice_client
, так оно и естьNone
. Может быть , попробовать распечататьguild
, посмотреть, есть ли там что-нибудь?2. @fravolt, если
guild
бы была проблема, вернул бы ошибку, когда они попытались позвонитьvoice_client
3. @Alyx Я имел в виду , что если
voice_client
в конечном итоге будетnone
, это указывает на то, чтоguild
у него нетvoice_client
(или он пустой). Хотя это может быть вызвано многими причинами, проверкаguild
наличия ожидаемых полей может помочь выявить проблему. Будет ли ошибка выдана приvoice_client
назначении или при попытке доступа к ней (строка, в которой она сейчас завершается сбоем), зависит в основном от тогоdiscord.py
, добавляет ли поля со значениемNone
или полностью их пропускает.4. О, это хорошая мысль!
Ответ №1:
Попробуйте использовать кодовые блоки для представления кода и ошибок в следующий раз, это будет легче просматривать.
Возможно, вы установили неправильную версию discord.py вам нужна другая версия для голосовых клиентов! Попробуйте переустановить с помощью этой команды pip:
# Linux/macOS
python3 -m pip install -U "discord.py[voice]"
# Windows
py -3 -m pip install -U discord.py[voice]