如何将字符串解析为不一致的数据类型?

How to parse a string into discord data types?

我 运行 遇到了一些问题,因为我想将一个值转换为 discord.Member

问题是我知道我能做到:

@commands.command
async def example(self, ctx, arg: discord.Member):

要将 arg 转换为 Member,但我如何直接从字符串执行此操作?

value = other_value: discord.Member

这是一个语法错误 returns,我该如何正确执行此操作?

语法调用函数注解。强制转换参数类型不是 Python 的功能,而是由 discord.py 定义的。参数在调用函数之前被转换。

不能使用局部变量注解来实现同样的事情(实际上你可以...但是会非常乏味),但是你可以手动调用discord.py的Converterconvert方法达到类似的效果:

value = commands.MemberConverter().convert(ctx, other_value)

可用转换器列表:

https://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#ext-commands-api-converters