首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法踢/禁discord.py里的每个人?

有没有办法踢/禁discord.py里的每个人?
EN

Stack Overflow用户
提问于 2020-08-31 10:22:25
回答 1查看 1.1K关注 0票数 0

我现在正在尝试制作一个不和谐的机器人,我正在学习踢/禁成员的教程,但是我似乎找不到一种踢/禁每个人的方法。当前代码踢出一个特定用户:

代码语言:javascript
运行
复制
    async def kickall(ctx, member : discord.Member):
        await member.kick()

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-31 10:35:26

您可以获取行会成员并使用for循环遍历它们:

代码语言:javascript
运行
复制
@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中,下面是你该怎么做的

代码语言:javascript
运行
复制
@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.")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63663965

复制
相关文章

相似问题

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