猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
我想使用 Discord 角色作为命令的要求
我正在用 Python 编写一个 Discord 机器人,我想创建一个需要角色的命令。有没有办法在 if 语句中使用角色作为要求?
侃侃尔雅
浏览 155
回答 4
4回答
守候你守候我
你只需要做@client.command()@commands.has_role(role='Role name') async def command(ctx): 是的,或者如果它不起作用,你需要添加@commands.has_role(role='Role name')上面的内容@client.command() ,如果你没有得到它,你可以阅读文档或者你也可以这样做角色@commands.has_permission(kind of permission=True/False)意味着需要角色和权限意味着他们也需要权限但你需要有不和谐的角色权限否则它会发送它不知道哪种权限
0
0
0
九州编程
您可以使用@client.command()@commands.has_permissions(**permission needed**=True)这将只允许具有特定权限的人执行该命令(错误消息选项)。或者,如果您只想要具有某个角色的人员,您可以使用 if message.author.role.id == **role id**: 或 if ctx.message.author.role.id == **role id**:。这是一个示例代码:@client.eventasync def on_message(message): link = ["https://"] for word in link: if message.content.count(word) > 0: if message.author.role.id == 706694479847096381: return else: print(f'{message.author}({message.author.id}) Sent an link') await message.delete() 此代码允许机器人在发送链接时忽略具有该角色的人员。
0
0
0
呼唤远方
我在最近创建的机器人中正是这样做的,我将命令设置为 JSON 配置,其中包含语法、描述和允许的角色等数据。该机器人使用 DiscordJS,但我确信您可以对 Python 机器人使用相同的原理:if (cmd.allowedRoles.includes('everyone') || message.member.roles.cache.some(role => cmd.allowedRoles.includes(role.name.toLowerCase())))
0
0
0
牧羊人nacy
您可以使用 argparse 并创建一个名为 role 的必需参数。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Python
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续