python - 如何检查用户是否在不和谐中具有特定角色
问题描述
这应该检查特定人员是否具有静音角色
@bot.command(pass_context=True)
@commands.has_role("Admin")
async def unmute(ctx, user: discord.Member):
role = discord.utils.find(lambda r: r.name == 'Member',
ctx.message.server.roles)
if user.has_role(role):
await bot.say("{} is not muted".format(user))
else:
await bot.add_roles(user, role)
抛出此错误
命令引发异常:AttributeError:“成员”对象没有属性“has_role”
我不知道该怎么做,所以我非常感谢我能得到的每一个帮助
解决方案
成员没有.has_role()
方法,但是您可以使用.roles
.
要查看用户是否具有给定角色,我们可以使用role in user.roles
.
@bot.command(pass_context=True)
@commands.has_role("Admin")
async def unmute(ctx, user: discord.Member):
role = discord.utils.find(lambda r: r.name == 'Member', ctx.message.guild.roles)
if role in user.roles:
await bot.say("{} is not muted".format(user))
else:
await bot.add_roles(user, role)
参考文档:https ://discordpy.readthedocs.io/en/latest/api.html#member
注意: ctx.message.guild.roles
使用是ctx.message.server.roles
. 由于 API 更改而更新。
推荐阅读
- flutter - Flutter:无法将参数类型“动态”分配给参数类型“映射”
' - python - 如何将任何python变量直接保存到/从excel中加载?
- erlang - Erlang应该如何过滤列表中的元素,并添加标点和[]?
- audio - ffmpeg xfade 音频不同步
- python - 我在同一个文件夹中有不同的excel文件
- html - HTML:如何将表单值保存在本地文件夹中
- python-3.x - 如何在 Django Rest Fraemwork 中自定义 HyperLinkedRelatedField?
- wordpress - Wordpress - 来自前端的 CRUD 操作
- json - 从 laravel 中的 json 数据中获取特定值
- reactjs - react-final-form input.onChange(null) 不会立即更新状态