簡體   English   中英

有沒有辦法踢/禁止 discord.py 中的所有人?

[英]Is there a way to kick/ban everyone in discord.py?

我現在正在嘗試制作一個 Discord 機器人,並且我正在按照踢出/禁止成員的教程進行操作,但是我似乎無法找到踢出/禁止所有人的方法。 當前代碼踢特定用戶:

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

我怎樣才能讓它踢所有人? 謝謝你。 如果您有任何問題或我可以改進這個問題的方法,請隨時問/告訴我。

您可以獲取公會成員並使用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.")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM