我有一个不和谐的服务器,因为所有者帐户长时间不活动,因此遭受了政变。
我希望在替换机器人之前对其进行修改,以允许我发出命令来踢所有成员,并将邀请发送给替换服务器,首先检查该成员是否具有可以踢的角色。
我对python最不熟悉,但是只发现了使用python进行类似步骤的线索。
我使用的kickem python示例存在权限问题。 调用该命令时,控制台会报告权限问题。
discord.errors.Forbidden: 403 FORBIDDEN (error code: 50013): Missing Permissions
我绝对有踢腿的权限。所以我的猜测是,它首先击中了层次结构中比我自己更高的成员,从而导致了错误。因为我不能踢新主人等等。
因此,我尝试添加针对特定角色的搜索,但无法使其与变量列表配合使用。它一直抱怨没有被定义,等等。我不知道python将如何处理它。
# KICKEM
@bot.command(pass_context=True)
async def kickem(ctx):
guild=ctx.message.guild
for member in tuple(guild.members):
## Try to find the role and skip those higher
role = discord.utils.find(lambda r: r.name == 'leader', ctx.message.guild.roles)
if role in member.roles:
print("Kickem skip leader")
## Not sure how to check other roles before moving on.
else:
await member.kick()
答案 0 :(得分:0)
您的权限不是问题,因为机器人是踢人的机器人。检查它的角色,并确保它具有管理员和/或踢踢特权。