#python #discord #bots #discord.py #discord.py-rewrite
#python #Discord #боты #discord.py #discord.py-переписать
Вопрос:
я не смог найти решение для этого, поэтому я здесь. Я создал бота в discord.py перепишите для моего сервера discord, и я хотел реализовать функцию, при которой мой бот что-то говорит, когда пользователь подключается к голосовому каналу.
Я даже не мог заставить бота присоединиться к голосовому чату, потому что он выдает все возможные ошибки. Заранее спасибо.
Это то, что я пробовал:
@bot.command()
async def join_voice(self, ctx):
connected = ctx.author.voice
if connected:
await connected.channel.connect()
и это
@bot.command(pass_context=True)
async def join(ctx):
author = ctx.message.author
channel = author.voice_channel
await bot.join_voice_channel(channel)
они оба выдают эту ошибку
discord.ext.commands.errors.CommandInvokeError: Command raised an exception:
AttributeError: 'Member' object has no attribute 'voice_channel'
Комментарии:
1. Привет и добро пожаловать в StackOverflow! Не могли бы вы включить в свой вопрос часть кода, который вы пробовали, а также любые ошибки, которые вам могли быть предоставлены, чтобы мы могли помочь вам лучше?
Ответ №1:
РЕШЕНИЕ
Хорошо, большие новости. Я понял, как подключиться.
У вас должен быть PyNaCl (который я не устанавливал).
Я также немного отладил и обнаружил, что voice_channel не существует в author, и я заменил его на voice.channel.
@bot.command()
async def join(ctx):
author = ctx.message.author
channel = author.voice.channel
await channel.connect()
print("i'm in the voice channel")
@bot.command()
async def leave(ctx):
await ctx.voice_client.disconnect()
print("i'm out of the voice channel")
Ответ №2:
Попробуйте установить discord.py с голосовой поддержкой:
# Linux/macOS
python3 -m pip install -U "discord.py[voice]"
# Windows
py -3 -m pip install -U discord.py[voice]
Комментарии:
1. Спасибо, но это дает мне одинаковые ошибки в обеих командах. На этот раз они оба, похоже, выдают одну и ту же ошибку. Я только что обновил сообщение.