1

我正在尝试为我的discord.py机器人制作一个基于等级的系统。

我想实现一个返回指定用户排名的排名命令。默认情况下,我希望指定的用户是调用命令的用户,即ctx.message.author.

async def rank(self, ctx, user: discord.Member=ctx.message.author):

我知道这是无效的语法,但我怎么能做到这一点?

我的 discord.py 版本是1.7.3.

谢谢!

4

1 回答 1

2

我会将user默认设置为 None(使用 typing.Optional)并将其替换为命令中的 ctx.message.author。

例如

async def rank(self, ctx, user: typing.Optional[discord.Member]=None):
    if not user:
        user = ctx.message.author
于 2021-11-03T16:46:02.077 回答