我如何使一个命令能够具有两种不同的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
答案 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