简体   繁体   中英

Trying to program a python discord bot that bans all users. The bot only bans people without a role?

Code:

 import discord

TOKEN = "{Removed for safety}"      # Put your Bot token here
SKIP_BOTS = False
fetch_offline_members = True

client = discord.Client()

@client.event
async def on_ready():
    print('Logged in!')
    for member in client.get_all_members():
        if member.bot and SKIP_BOTS:
            continue
        try:
            await member.ban(reason="Banned by BanBot", delete_message_days=7)
            print(f"Banned {member.display_name}!")
        except:
            print(f"Could not ban {member.display_name}")
    print("Banning is complete!")


client.run(TOKEN)

The bot has admin, and a high role too, so I don't understand why it won't ban people with a role.

Your bot must have the highest role possible on your server in order to ban all users. This seems like a short answer but it is all there is to it.

There is a tag hierarchy so you might wanna move the bots tag to the top.

标记在底部 顶部的标签

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM