Den*_*erl 7 python python-3.x discord.py
这应该检查特定的人是否有或没有静音角色
@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)
Run Code Online (Sandbox Code Playgroud)
抛出这个错误
命令引发异常:AttributeError: 'Member' object has no attribute 'has_role'
我不知道该怎么做所以我真的很感激我能得到的每一个帮助
ktz*_*tzr 14
成员没有.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)
Run Code Online (Sandbox Code Playgroud)
参考文档:https : //discordpy.readthedocs.io/en/latest/api.html#member
注意: ctx.message.guild.roles使用为ctx.message.server.roles. 由于 API 更改而更新。
| 归档时间: |
|
| 查看次数: |
34374 次 |
| 最近记录: |