我遇到了一些问题,因为我想将值转换为discord.Member
。
问题是我知道我可以做到:
@commands.command
async def example(self, ctx, arg: discord.Member):
要将arg
转换为Member
,但是我将如何直接从字符串中进行转换呢?
value = other_value: discord.Member
这将返回语法错误,我该如何正确执行此操作?
答案 0 :(得分:1)
该语法称为功能注释。强制转换参数的类型不是Python的功能,而是由discord.py定义。在调用函数之前先对参数进行了转换。
您不能使用局部变量批注来实现相同的目的(实际上,您可能能够...但是这将非常繁琐),但是您可以实现类似的效果通过手动调用discord.py的convert
的{{1}}方法:
Converter
可用转换器的列表:
https://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#ext-commands-api-converters