python 创建语音通道时出错,不确定如何操作

omqzjyyz  于 2022-11-21  发布在  Python
关注(0)|答案(1)|浏览(140)

我正在创建一个命令来创建语音通道,它从用户那里获取一些参数,并使用它创建一个语音通道。代码如下-

##TEST CREATE VC
@bot.command(name="createvoice")
async def createvoice(ctx, name = "Voice Channel", user_limit = 5,):
    guild = ctx.message.author.guild
    await guild.create_voice_channel(name, int(user_limit))

它在只有一个参数的情况下正常工作,但是当我添加更多的参数(如user_limit或任何其他参数)时,就会出现问题。因此,我键入.createvoice testname 5,然后得到错误-nextcord.ext.commands.errors.CommandInvokeError:命令引发异常:TypeError:Guild.create_voice_channel()采用2个位置参数,但实际提供了3个
有谁知道如何修复它,如何使它在一个特定的类别创建频道?

deyfvvtc

deyfvvtc1#

您必须提供名称。当我提供名称时,它对我有效。要进行此更改

await guild.create_voice_channel(name, user_limit=5)

await guild.create_voice_channel(name="VOICE_CHANNEL_NAME", user_limit=5)

并将VOICE_CHANNEL_NAME替换为所需的语音通道名称。
如果您想让用户选择名称,只需将name="VOICE_CHANNEL_NAME"替换为name=name,这样您就可以

await guild.create_voice_channel(name=name, user_limit=5)

对于用户完全可自定义的代码,请使用此 (用户可以在此选择语音通道的类别、名称和用户限制)

@bot.command(name="createvoice")
async def createvoice(ctx, category_name: discord.CategoryChannel, name = "Voice Channel", user_limit=5):
    guild = ctx.message.author.guild
    await guild.create_voice_channel(category=category_name, name=name, user_limit=user_limit)

现在,用户可以发送类似this的内容,并且this将会发生。

  • 我希望这能有所帮助:)*

相关问题