【发布时间】:2021-06-15 23:41:58
【问题描述】:
我正在尝试使用 Python 和 discord.py 库创建一个 kick 命令,但我不知道如何让人们只能踢低于其角色的成员,因此版主将无法踢管理员。
【问题讨论】:
-
请不要包含您的代码图像,请使用markdown 格式化。当其他人遇到同样的问题时,添加图片会使其难以显示。
标签: discord discord.py discord.net
我正在尝试使用 Python 和 discord.py 库创建一个 kick 命令,但我不知道如何让人们只能踢低于其角色的成员,因此版主将无法踢管理员。
【问题讨论】:
标签: discord discord.py discord.net
您可以将Member 对象与名为top_role 的函数进行比较
示例代码如下:
@client.command()
@commands.has_permissions(kick_members=True)
async def kick(ctx, member: discord.Member, *, reason=None):
if member.top_role >= ctx.author.top_role: # Check if the role is below the authors role
await ctx.send("You can only kick users with a lower role!")
return
else:
await member.kick(reason=reason)
await ctx.send(f"{member.id} got kicked with the reason: {reason}.")
【讨论】:
>。
将所有版主添加到一个列表中,将普通用户添加到另一个列表中。
像这样;
string[] moderator = all moderators.
string[] regularUsers = all regular users.
【讨论】: