在我的代码中,我试图做:
if "!variants" in args[0]:
variants = client.user.party.me.create_variants(
args[2]=args[3]
)
await client.user.party.me.set_outfit(
asset=args[1],
variants=variants
)
await message.reply('Skin set to' + args[1])
对于args [2],可能有许多类似clothing_color
或material
之类的东西,而我唯一能找到的解决方案是为每个不同的args [2]添加不同的命令,但这并不是非常有效,我宁愿将代码缩短为1个命令,是:
if ("!variants" in args[0]) & ("clothing_color" in args[2]):
variants = client.user.party.me.create_variants(
clothing_color=args[3]
)
await client.user.party.me.set_outfit(
asset=args[1],
variants=variants
)
await message.reply('Skin set to' + args[1])
if ("!variants" in args[0]) & ("material" in args[2]):
variants = client.user.party.me.create_variants(
material=args[3]
)
await client.user.party.me.set_outfit(
asset=args[1],
variants=variants
)
await message.reply('Skin set to' + args[1])
还是第二种方法,这是我可以解决的唯一方法?
答案 0 :(得分:0)
您可以使用re
:
if "!variants" in args[0] and re.search("clothing_color|material", args[2]):
如果找到任何一个单词,它将返回一个Match
对象,否则将返回None
答案 1 :(得分:0)
如果要动态传递关键字参数,则需要将关键字和值转换为字典,然后使用**
运算符将其传递。
variants = client.user.party.me.create_variants(**{args[2]: args[3]})