有没有办法在discord.py中踢/禁止所有人?

2024-10-08 18:25:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在正在尝试创建一个Discord机器人,并且我正在遵循一个关于踢/禁止成员的教程,但是我似乎找不到一个方法来踢/禁止每个人。当前代码将提示特定用户:

    async def kickall(ctx, member : discord.Member):
        await member.kick()

我怎样才能让它踢每个人?非常感谢。如果您有任何问题或我可以改进此问题的方法,请随时询问/告诉我


Tags: 方法代码用户asyncdef机器人成员教程
1条回答
网友
1楼 · 发布于 2024-10-08 18:25:28

您可以获取公会成员并通过for循环对其进行迭代:

@commands.command(aliases=['kickall'])
@commands.has_permissions(administrator=True)
async def kick_all(self, ctx, reason):
    for member in ctx.guild.members:
        try:
            await member.kick(reason=reason)
            print(f"Kicked {member.name}")
        except:
            print(f"Could not kick {member}")

以下是由于您不在Class中,您将如何执行此操作:

@client.command()
async def kickall(ctx, *, reason=None):
    if ctx.message.author.top_role.permissions.administrator:
        for member in ctx.guild.members:
                try:
                    await member.kick(reason=reason)
                    print(f"Kicked {member.name}")
                except:
                    print(f"Could not kick {member}")
    else:
        await ctx.send("Missing permissions.")

相关问题 更多 >

    热门问题