[英]How to create color role with discord.py
我正在尝试创建一个命令,通过在消息中键入它来创建一个具有其颜色的角色,但是我不断收到此错误
discord.ext.commands.errors.CommandInvokeError:命令引发异常:TypeError:角色()缺少1个必需的仅关键字参数:“颜色”
@commands.command(aliases=['make_role'])
@commands.has_permissions(manage_roles=True)
async def role(self, ctx, *, name,color):
guild=ctx.guild
await guild.create_role(name=name, color=colors)
await ctx.send(f'Role `{name}` has been created, color is {colors}')
function 参数中的星号*
导致了您遇到的问题。 星号告诉 function 以下参数应视为放入单个参数中的一定数量的变量。 因此它假定您使用!role Gordon Freeman Blue
键入的所有内容都被视为名称参数。 因此,当您print(name)
时,它将 output Gordon Freeman Blue
。
一个简单的解决方法是移动参数位置,因为颜色通常只是一个词。
async def role(self, ctx, color, *, name):
顺便说一句,这一行会导致错误,因为您在color=colors
上添加了额外s
await guild.create_role(name=name, color=colors)
几件事:
discord.Colour(0xa45141)
创建颜色我同意@KELO 的回答,但错误是当我们使用#添加颜色时它永远不会起作用,因为 discord.py 将它作为通道。 所以你应该从 DMS 获得所需的 arguments
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.