繁体   English   中英

检查提到的用户是否有一定的权限 discord.py

[英]Check if mentioned user has certain permission discord.py

我想检查命令中提到的用户( !checkadmin @User )是否具有管理员权限。 我怎么能做到? 我找不到办法。 谢谢

还有更简单的方法。 使用Member.guild_permissions在这里你可以找到所有权限列表

@bot.command()
async def admin(ctx, user: discord.Member = None):
   if user.guild_permissions.administrator and user != None:
            ctx.send(f'{user.mention} is an admin')

其实有一个非常简单的方法可以做到这一点!

@bot.command()
async def checkadmin(ctx, member: discord.Member=None):
    if member is None:
        member = ctx.message.author
    if member.permissions_in(ctx.message.channel).administrator:
        # Do what you want here

只需快速查看以下文档:

如果你还是不明白,这里是解决方案:

@client.event
async def on_message(message):
    if len(message.mentions) == 0 or not message.content.startswith("!checkadmin"): return
    mentioned_user = message.mentions[0]
    permissions = mentioned_user.guild_permissions
    is_admin = permissions.administrator

    await message.channel.send("This user is an administrator!" if is_admin else "This user is not an administrator!")

希望我能帮上忙

问候

这是执行此操作的最短方法:

@client.command()
async def check_admin(ctx, member: discord.Member=None):
    if member is not None: await ctx.send("This member is admin" if member.guild_permissions.administrator else "This member is not admin.")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM