首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查用户是否在不和谐中扮演特定角色?

如何检查用户是否在不和谐中扮演特定角色?
EN

Stack Overflow用户
提问于 2019-02-23 20:27:28
回答 2查看 57.5K关注 0票数 9

这应该检查特定的人是否具有静音角色。

代码语言:javascript
运行
复制
    @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:'Member‘对象没有属性'has_role’

我不知道该怎么做,所以我很感激我能得到的一切帮助

EN

Stack Overflow用户

发布于 2021-11-21 13:41:33

我个人用这个:

代码语言:javascript
运行
复制
@bot.command(pass_context=True)
@commands.has_role("Admin")
async def unmute (ctx,user:discord.Member):
  role = discord.utils.get(ctx.guild.roles, name="Muted")

  if role in user.roles:
    await user.remove_roles(role)

    await user.add_roles(role)
    embed = discord.Embed(title="Unmuute Members", description=f"{user.mention} has been unmuted" , color = discord.Color.blue())


    embed.add_field(name='Unmuted by:' , value = f"{ctx.author.mention}")


    await user.remove_roles(role)

    await ctx.send(embed=embed)

  else:
    await ctx.send("Invalid Argumnets or The user is not muted.")

所以你可以看到

role = discord.utils.get(ctx.guild.roles, name="Muted")此变量定位服务器中的静音角色。

代码语言:javascript
运行
复制
if role in user.roles:
    await user.remove_roles(role)

这将从用户中删除角色

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54845875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档