Discord Bot не подключается к голосовому каналу - PullRequest
0 голосов
/ 14 июля 2020

Я изо всех сил пытаюсь заставить моего бота войти в голосовой канал, я уже прочитал много сообщений, которые здесь, и ни один из них не смог решить мою проблему, я пытаюсь заставить своего бота воспроизводить голос yt видео, но оно даже не присоединяется, и я не знаю, что делать, вот код:

import os
import discord
import youtube_dl
from random import random, choice, randint
from dotenv import load_dotenv
from discord.ext import commands

load_dotenv()
token = os.getenv("DISCORD_TOKEN")
GUILD = os.getenv("DISCORD_GUILD")
bot = commands.Bot(command_prefix="!")

bot = commands.Bot(command_prefix="!")

@bot.command(name="join")
async def join(ctx):
    author = ctx.message.author
    channel = author.voice_channel
    await bot.join_voice_channel(channel)

bot.run(token)

1 Ответ

0 голосов
/ 14 июля 2020

bot.join_voice_channel был методом discord.py, а не discord. py@rewrite one. Теперь вам нужно использовать VoiceChannel.connect(). Если ваш бот уже подключен, вы можете использовать VoiceClient.move_to (если вам нужен только один игрок на вашем сервере Discord).

Вот как вы используете эти два метода:

@bot.command(name="join")
async def join(ctx):
    channel = ctx.author.voice.channel
    voice = get(self.bot.voice_clients, guild=ctx.guild)

    if voice and voice.is_connected():
        await voice.move_to(channel)
    else:
        voice = await channel.connect()

Ссылки: https://discordpy.readthedocs.io/en/latest/migrating.html?highlight=migrating#voice -изменения

...