Arg可以是两种不同的类型,discord.Member和str

时间:2018-08-18 09:37:10

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

我如何使一个命令能够具有两种不同的arg可能性?例如:?settings staff-role <@role | role name | Default | None>。 我当前的代码是:

@commands.guild_only()
@settings.command(aliases=["staff-role"])
async def staffRole(self, ctx, role: discord.Role):
    #if role is "default" set it to default
    #if role is "none" remove all roles

1 个答案:

答案 0 :(得分:0)

在您描述的情况下,我认为最好的情况是允许您的命令具有默认值,因此可以省略它而不是要求调用方传递"none"

@commands.guild_only()
@settings.command(aliases=["staff-role"])
async def staffRole(self, ctx, role: discord.Role=None):
    if role:
        # set it to role
    else:
        # role was not provided