当前位置: 首页 > 知识库问答 >
问题:

不一致向用户添加角色

司寇望
2023-03-14

我是新来的python和创建不和谐的机器人在一般情况下,我不能为我的生命弄清楚如何让我的机器人分配一个角色给用户的用户请求。

我在互联网上搜索了几个小时,找到了一些例子,但它们都产生了错误。

以下是我的命令代码:

@client.command(pass_context=True)
@commands.has_role("Bots")
async def add_bot(ctx):
    member = ctx.message.author
    role = discord.utils.get(member.server.roles, name="Bots")
    await client.add_roles(member, role)

以下是我得到的错误:

in _verify_checks raise CheckFailure('The check functions for command {0.qualified_name} failed.'.format(self))
discord.ext.commands.errors.CheckFailure: The check functions for command add_bot failed.

共有2个答案

薛祯
2023-03-14

删除has\u角色检查。检查调用方是否有角色以便他们可以为自己分配该角色是没有意义的。

@client.command(pass_context=True)
async def add_bot(ctx):
    member = ctx.message.author
    role = discord.utils.get(member.server.roles, name="Bots")
    await client.add_roles(member, role)
乌甫
2023-03-14

对于重写版本,情况发生了一些变化,add_roles不再是client的一部分,而是discord的一部分。成员为不和谐的代码分类。py重写版本为:

@client.command(pass_context=True)
async def add_role(ctx):
    member = ctx.author
    role = discord.utils.get(member.guild.roles, name="Bots")
    await member.add_roles(role)

REWRITE版本的一个小更新。

 类似资料:
  • 我希望能够运行以开始的命令!suspend,提到一个用户,然后确定一个时间长度,并在指定的时间长度内向提到的用户添加一个名为“suspend”的角色。 我不知道该怎么做,因为我对JDA太不熟悉,无法让它工作。除了实际添加的名为“暂停”的角色之外,我的一切都正常。

  • 我正在制作一个机器人,有一个自动角色系统,使用反应 以下是我当前相关代码的简化版本: 我只想知道如何使用对象向用户添加角色 我尝试了

  • 我试图将所有用户从一个具有特定角色的VC中转移出来,例如:!召唤@role 这样,所有具有特定角色的用户都应该来到VC,用户在那里键入该命令 目前我的代码是这样的: 目前,我正在移动所有用户,但是我只希望用户具有知情的角色 我试着用: 但是没有成功。。。有人能帮我解决这个问题吗?

  • 我想通过postman中的api将角色添加到特定客户端密钥斗篷中的用户,但我得到了“错误”:“client not Found”这个URL:post-http://localhost:8080/auth/admin/realms/{realmName}/users/{userId}/role-mappings/clients/{clientId} 本机构:

  • 传递用户表示。id to keydeposerverURL“/auth/admin/realms/XXXX/users/“userId”/role mappings/realm”我为某个用户获取这些角色。。。 我无法确定应该使用哪个API向用户添加/删除角色。 请告诉我需要使用什么API 我能找到的最好的是下面这个,但是我不知道params(路径和请求属性应该是)是什么...

  • 我想发送消息,如果作者有角色,但如果我尝试此代码不工作(角色的id是正确的)。