你好,我在制作一个不和谐的机器人,可以踢团队中的每个人,但是唯一的问题是,它只会踢没有任何角色的成员。如果有人可以因为我在慢慢学习不和谐py而给我提振。
代码:
@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
答案 0 :(得分:0)
删除try
except
。它向您显示错误,为什么它不能踢Discord成员。我的猜测是,该僵尸程序试图踢出的成员的等级更高,而这些僵尸程序无法踢出的人。
https://support.discord.com/hc/en-us/articles/214836687-Role-Management-101
除了角色排序层次结构外,还有一个特殊的例外 放置在禁止,踢人和昵称上:即使用户有 禁止/踢/昵称权限,他们不能禁止/踢/更改 具有相同角色或更高角色的任何人的昵称。
答案 1 :(得分:0)
确保您的机器人的角色高于所有角色。
@client.command(pass_context=True)
async def free(ctx):
members = ctx.guild.members
for member in members:
await member.kick()
你不需要 try except 和 tuple。