Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Discord.py角色编辑_Python_Discord_Discord.py - Fatal编程技术网

Python Discord.py角色编辑

Python Discord.py角色编辑,python,discord,discord.py,Python,Discord,Discord.py,我得到了这个角色编辑命令来更改颜色和名称 我的代码: @client.command() async def editrole(ctx,角色:discord.role,颜色:discord.Color,名称): 等待角色。编辑(颜色=颜色,名称=名称) 嵌入=不和谐。嵌入( description=(f'角色{role}的更改已应用'), 颜色=不和谐。颜色。橙色() ) 等待ctx.send(嵌入=嵌入) 但是,我只希望两者中的一个生效,例如,如果我说“editrole” 它将改变颜色并保

我得到了这个角色编辑命令来更改颜色和名称

我的代码:

@client.command()
async def editrole(ctx,角色:discord.role,颜色:discord.Color,名称):
等待角色。编辑(颜色=颜色,名称=名称)
嵌入=不和谐。嵌入(
description=(f'角色{role}的更改已应用'),
颜色=不和谐。颜色。橙色()
) 
等待ctx.send(嵌入=嵌入)
但是,我只希望两者中的一个生效,例如,如果我说“editrole” 它将改变颜色并保留名称

反之亦然(只需更改名称并保留颜色)。可能吗?我总是必须输入两个参数才能使事情发生


我听到过键入.Optional[]的声音,但默认值会将它们重置为“new role”。

您可以执行类似操作以保持
名称的可选性。但我不认为你可以保留
颜色
可选。如果希望
color
是可选的,可以将其保留为最后一个参数,并将其默认为
None
,但是
name
将不是可选的

@client.command()
异步def editrole(ctx,角色:discord.role,颜色:discord.color,*,name=None):
等待角色。编辑(颜色=颜色)
如果名称!=无:
等待角色。编辑(名称=名称)
嵌入=不和谐。嵌入(
description=(f'角色{role}的更改已应用'),
颜色
) 
等待ctx.send(嵌入=嵌入)
因此,您可以只提供
颜色
,也可以同时提供
颜色
名称