为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的 discord bot 没有连接到带有 discord.py 重写的频道?

为什么我的 discord bot 没有连接到带有 discord.py 重写的频道?

慕虎7371278 2021-11-16 10:47:47
好的,所以我对 python 和编程还是很陌生,一般来说,试图让我的不和谐机器人加入我的频道,但是当我输入命令时,它没有加入。我尝试了几种不同的方法。这是代码:@client.eventasync def voice_chat(message, VoiceChannel):    if message.content == "!join":            musicplayer = VoiceChannel.connect()我还尝试用客户端替换两个 VoiceChannels,但它仍然没有用,我也尝试用 await 替换 if message.content 但没有任何尝试。有谁知道这段代码有什么问题?
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

你需要使用 commands.command()


@commands.command()

async def join(self, ctx, voice_channel):

然后使用 voice_channel.connect()


voice_channel.connect()

我建议也使用 a 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/ extension 内,因此请考虑到这一点。至少这是正常的约定,类似于“语音”齿轮。


查看完整回答
反对 回复 2021-11-16
  • 1 回答
  • 0 关注
  • 217 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信