Discord Bot没有加入语音频道

时间:2020-07-14 05:39:12

标签: python python-3.x discord discord.py

我正努力使我的机器人进入语音通道,我已经阅读了很多帖子,但没有一个能够解决我的问题,我试图让我的机器人重现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 :(得分:0)

bot.join_voice_channel是discord.py方法,而不是discord.py@rewrite方法。您现在必须使用VoiceChannel.connect()。如果您的漫游器已经连接,则可以使用VoiceClient.move_to(如果不和谐的服务器上只需要一个播放器)。

这是您使用这两种方法的方式:

@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-changes