почему мой дискорд-бот не подключается к каналу с перезаписанным discord.py? - PullRequest
0 голосов
/ 22 февраля 2019

ОК, так что я все еще довольно плохо знаком с python и программированием в целом, пытаясь заставить моего бота разногласия присоединиться к моему каналу, но когда я набираю команду, он не присоединяется.Я пробовал несколько разных вещей.это код:

@client.event
async def voice_chat(message, VoiceChannel):
    if message.content == "!join":
            musicplayer = VoiceChannel.connect()

Я также попытался заменить оба VoiceChannels на клиента, и он все еще не работал, и я также попытался заменить, если message.content с await, но ничего не пыталось сработало.Кто-нибудь знает, что не так с этим кодом?

1 Ответ

0 голосов
/ 22 февраля 2019

Вам нужно использовать commands.command()

@commands.command()
async def join(self, ctx, voice_channel):

Затем используйте voice_channel.connect()

voice_channel.connect()

Я предлагаю использовать VoiceChannelConverter.Таким образом, в целом ваша функция должна выглядеть примерно так, за исключением любой другой логики, которую вы хотите.

from discord.ext import commands

@commands.command()
async def join(self, ctx, voice_channel: commands.VoiceChannelConverter):
    try:
        await voice_channel.connect()
    except commands.BotMissingPermissions as error:
        #send them a prettied up message saying HEY I NEED {} PERMS!
    await ctx.send(f"I have joined: {voice_channel}")

Также обратите внимание, что должен находиться в пределах cog / расширение , поэтомупринять это во внимание.По крайней мере, это обычное соглашение, что-то вроде «голосового» винта.

...