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

如何给予不和谐机器人所有者的权限?

贝研
2023-03-14

我在一个discord.py机器人,没有问题,我的代码只是工作正常,但我想知道如何给机器人所有者的权限,他应该删除一个角色,给所有高权限,(所有的权限是在服务器

discord.errors.禁止:403禁止(错误代码:50013):缺少权限

@bot.command(name="godRemove")
async def godremover(ctx, persona, numerogod):
    channel = bot.get_channel(id=786285288469037197)
    numerogod=int(numerogod)
    if not numerogod>1:
        numerogod=1
    #hasadded=False
    #hasgod=False
    rolenumber=0
    try:
        guild=ctx.guild
        if ctx.author.name in canAddGod:
            for i in guild.members:
                if str(i)[:-5].lower().strip()==persona.lower().strip():
                    for role in i.roles:
                        #if str(role)=="God":
                            #hasgod=True
                        if representsint(str(role)):
                            rolename=str(int(str(role))-numerogod).strip().lower()
                            rolenumber=int(rolename)
                            if rolenumber>1:
                                if discord.utils.get(ctx.guild.roles, name=rolename)!=None:
                                    togiverole=discord.utils.get(guild.roles, name=rolename)
                                    await i.add_roles(togiverole)
                                    await i.remove_roles(role)
                                    #hasadded=True
                                    await channel.send(removedliteral)
                                    return
                                else:
                                    togiverole=await ctx.guild.create_role(name=str(int(str(role))+numerogod), colour=discord.Colour(0xFFFFFF))
                                    await i.add_roles(togiverole)
                                    await i.remove_roles(role)
                                    #hasadded=True
                                    await channel.send(removedliteral)
                                    return
                            elif rolenumber==0:
                                await i.remove_roles(discord.utils.get(ctx.guild.roles, name="God"))
                            else:
                                await i.remove_roles(discord.utils.get(ctx.guild.roles, name="God"))
                                await i.remove_roles(role)
    except Exception:
        traceback.print_exc()
        await channel.send(errorliteral)

代码有点混乱,但有一段时间我没有用python编写代码,所以这里有一点解释(ps,这是一件有趣的事情,我想添加到我的服务器,比如,每个人都是上帝,如果他们做了一些有趣的事,我会添加上帝,如果没有,我会删除上帝,所以如果他们没有足够的上帝(

答:将应该拥有更多权限的角色移动到比角色列表中应该“支配”的角色更高的位置!

共有1个答案

公孙慎之
2023-03-14

不和谐。错误。禁止:403禁止(错误代码:50013):缺少权限表示由于bot的权限,bot无法执行某些操作。这与bot所有者是分开的,bot所有者是另一个具有独立权限的用户

您需要向bot授予执行您正在执行的任何操作的权限。这是在您的服务器/公会配置中完成的。

如果您正在编写只有机器人所有者才能执行的命令,则在D中有一个名为is_owner的装饰器iscord.py

 类似资料:
  • Bot只是不工作:/Bot没有给出任何错误

  • 我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。

  • 我试图做一个程序来创建一个无尽的循环,例如: 但是主要的问题是一个机器人听不到另一个机器人的声音,所以这不起作用。。。 有没有办法让机器人听另一个机器人的?提前感谢!:)

  • 我想让我的机器人在这个服务器上发布来自所有6个频道的引脚,但是,我的机器人只从调用命令的当前频道获得引脚。我想知道是否有办法解决这个问题。不和谐版本1.0.0A 我目前掌握的代码是: 以下代码从存在此机器人的所有服务器检索用户详细信息。我想知道在第一个代码片段中是否应该使用公会而不是通道?这给了我一个错误的结果。

  • 我有错误,我检查了这个-discord bot-userinfo命令“IndentationError:unexpected indent”,但我不知道如何修复我的代码 此行出错- 这是我所有的功能

  • 我正在尝试使用discord删除已创建的角色,该角色使用的是。js。 终端中的错误显示: DiscordAPIError:缺少权限 虽然我已经给了我的机器人所有权限。 代码: