Discord 机器人不会踢人

时间:2021-01-11 08:17:45

标签: python discord.py-rewrite

这是我用来踢会员的机器人代码:

from discord.ext import commands

# Enable all intents except for members and presences
intents = discord.Intents.default()
intents.members = True  # Subscribe to the privileged members intent.
client = commands.Bot(command_prefix='!', intents=intents)

commands = commands

@client.command()
@commands.has_permissions(ban_members=True)
async def kick(message, member: discord.Member, *, reason=None):
    print(f"{member} was kicked")
    await member.kick(reason=reason)
    await message.channel.send(f"{member} was kicked")

但机器人不会将人踢出服务器,但机器人具有管理员权限。 谢谢

1 个答案:

答案 0 :(得分:0)

您可能在角色层次结构方面遇到问题。在 Discord 中,角色按层次结构排序,每个人都从最低的角色开始。用户和机器人不能编辑比他们自己的最高角色更高层次的角色,这扩展到很多事情,包括踢/禁止人。即使您拥有“禁止成员”/“踢成员”权限,您也不能踢/禁止比您级别更高的任何人。这也适用于机器人。要在层次结构中向上移动角色,请转到“服务器设置”>“角色”并将角色向上拖动到列表中,然后保存您的更改。无论等级如何,服务器所有者也不能被踢。