【发布时间】:2021-09-20 01:49:13
【问题描述】:
我正在编写一个 kick 命令,结果已经成功。今天我发现我的一半管理员为了好玩而禁止自己,所以对于这个问题,我想要一两行,如果版主试图踢/禁止自己或拥有manage_guild 权限的人,机器人会返回类似“那个用户是工作人员,我踢不过他们!”
如果我得到其他机器人的东西,上面写着“你要踢的成员是机器人!”,则加分。也许通过“机器人”角色。
这是代码 -
@client.command()
@commands.has_permissions(kick_members=True)
async def kick(ctx, user: discord.Member, *, reason="No reason provided"):
await user.kick(reason=reason)
kick = discord.Embed(title=f"User {user.name}#{user.discriminator} has been **kicked** from the server. <a:m_verifyblack:850825891780100096>", color=0xFF8300, description=f"Reason: {reason}\nBy: {ctx.author.mention}")
await ctx.message.delete()
await ctx.channel.send(embed=kick)
@kick.error
async def kick_error(ctx, error):
if isinstance(error, commands.MissingPermissions):
await ctx.send("**:no_entry_sign: You cant do that!**")
@kick.error
async def kick_error(ctx, error):
if isinstance(error, commands.MissingRequiredArgument):
kick = discord.Embed(title=f"Please pass a user.", description="`.kick {user}`\nExample:\n`.kick @user`, `.kick {user.id}`")
await ctx.channel.send(embed=kick)
【问题讨论】: