[英]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.