踢所有人的Discord机器人只会踢没有角色的人

时间:2020-06-03 13:26:38

标签: python bots discord

你好,我在制作一个不和谐的机器人,可以踢团队中的每个人,但是唯一的问题是,它只会踢没有任何角色的成员。如果有人可以因为我在慢慢学习不和谐py而给我提振。

代码:

@client.command(pass_context=True)
async def free(ctx):
    guild=ctx.message.guild
    for member in tuple(guild.members):
        try:
            await member.kick()
        except:
            continue

2 个答案:

答案 0 :(得分:0)

删除try except。它向您显示错误,为什么它不能踢Discord成员。我的猜测是,该僵尸程序试图踢出的成员的等级更高,而这些僵尸程序无法踢出的人。

https://support.discord.com/hc/en-us/articles/214836687-Role-Management-101

除了角色排序层次结构外,还有一个特殊的例外 放置在禁止,踢人和昵称上:即使用户有 禁止/踢/昵称权限,他们不能禁止/踢/更改 具有相同角色或更高角色的任何人的昵称。

答案 1 :(得分:0)

确保您的机器人的角色高于所有角色。

@client.command(pass_context=True)
    async def free(ctx):
        members = ctx.guild.members
        for member in members:
            await member.kick()

你不需要 try except 和 tuple。