你好,我正在制作一个不和谐的机器人,踢群里的每个人,但唯一的问题是它只踢没有任何角色的成员。如果有人能帮我一把,因为我正在慢慢地学习不和谐。
代码:
@client.command(pass_context=True)
async def free(ctx):
guild=ctx.message.guild
for member in tuple(guild.members):
try:
await member.kick()
except:
continue
发布于 2020-06-03 13:56:58
卸下try
except
。它会向您显示无法踢开不一致成员的错误。我的猜测是,机器人试图踢的成员在层次结构中更高,而这些人是机器人无法踢到的。
https://support.discord.com/hc/en-us/articles/214836687-Role-Management-101
除了角色排序层次结构之外,对于禁止、踢球和昵称成员,还有一个特殊的例外:即使用户具有禁止/踢球/昵称权限,他们也不能禁止/踢球/更改具有相同角色或高于其角色的任何人的昵称。
发布于 2021-02-14 22:22:23
确保你的机器人的角色比所有的机器人都高。
@client.command(pass_context=True)
async def free(ctx):
members = ctx.guild.members
for member in members:
await member.kick()
您不需要try except和tuple。
https://stackoverflow.com/questions/62173984
复制