[英]Is there any way for my discord.py bot to check check for whether a user has a certain permission to use a command?
例如,我的機器人有服務器設置,目前,任何可以發送消息的用戶都可以編輯設置。 如果沒有Manage Server
權限的用戶嘗試編輯權限,我很樂意向Dank Memer Bot 發送的用戶發送類似的消息。 我四處搜索,似乎您只能看到自己的機器人具有哪些權限,但我不確定。 有沒有辦法讓我做到這一點? 謝謝。
顯然我只是做了
# check if someone has certain permissions
def hasPerms(member, perms):
for role in reversed(member.roles):
if not perms.is_subset(role.permissions):
return False
return True
它有效。
對於命令,
from discord.ext import commands
@commands.has_permissions(manage_server=True)
您可以將manage_server
更改為您想要的任何權限。 用於此的Discord API 。
然后你可以做的是制作一個錯誤處理程序。 所以如果用戶沒有權限執行這個命令,它會發送一條消息。
@command.error
async def command_error(ctx, error):
if isinstance(error, MissingPermissions):
await ctx.send('You do not have permission to do this command!')
您必須將command
更改為您希望Manage Server
使用的任何命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.