You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.py Bot 配置管理员权限后无法踢出成员问题排查

Discord.py 踢出命令失效问题原因汇总

常见失效成因

  • 角色层级限制:Discord 服务器的角色权限遵循严格的上下位排序规则,即便机器人已被赋予管理员权限,只要其角色排序等于或低于被踢出目标的角色排序,就无法对目标执行踢出操作。这也是你无法踢出同权限等级弃用机器人的核心原因。
  • 网关权限未开启:需要在 Discord 开发者后台的机器人设置页,开启 Server Members Intent 权限,否则机器人无法正常执行成员管理类操作。
  • 命令调用格式错误:调用踢人命令时如果没有正确@目标成员、目标成员不在当前服务器,都会触发操作失败。
  • 代码语法问题:你提供的原始代码中await ctx.send(+member.mention + ...行存在多余的前置+号,属于语法错误,不过该问题通常会直接抛出代码报错,不属于本次无报错但操作失效的诱因。

可正常运行的代码示例

@client.command() ##kick
@has_permissions(kick_members = True) # 校验命令调用者是否有踢出成员权限
async def kick(ctx, member : discord.Member, *, reason=None):
    try:
        await member.kick(reason=reason)
        await ctx.send(member.mention + " has been sent to the ministry of love for reeducation.")
    except:
        await ctx.send("You cannot!")

已验证的解决方案

你后续排查得出的结论符合Discord官方权限规则:仅当被操作目标的角色层级低于机器人的角色层级时,踢人命令才可正常触发,更换角色层级更低的普通用户测试即可验证功能正常。

内容的提问来源于stack exchange,提问作者Chezyy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:39:00