Error:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: ‘VoiceState’ object has no attribute ‘voice_channel’
Code:
from discord.ext import commands import random import youtube_dl @client.command(pass_context=True) async def join(ctx): channel = ctx.message.author.voice.voice_channel await client.join_voice_channel(channel)```
Advertisement
Answer
Try using voice.channel
instead of voice.voice_channel
.
from discord.ext import commands import random import youtube_dl @client.command(pass_context=True) async def join(ctx): channel = ctx.message.author.voice.channel await client.join_voice_channel(channel)
Also client.join_voice_channel will not work. Use something like this:
from discord.ext import commands from discord.utils import get import random import youtube_dl @client.command(pass_context=True) async def join(ctx): chn = ctx.message.author.voice.channel if not chn: await ctx.send("Error: Connect to voice channel") return voice = get(bot.voice_clients, guild=ctx.guild) if voice and voice.is_connected(): await voice.move_to(chn)