检查用户是否拥有 discord.py 中的权限
Check if user has permission in discord.py
我正在为我的 discord.py 机器人发出踢球命令。以下是踢命令可能的一些代码:
async kick_command(self, ctx, userName: discord.User):
prefix_used = ctx.prefix
alias_used = ctx.invoked_with
text = msg[len(prefix_used) + len(alias_used):]
if discord.User permissions = "admin":
try:
kick(User)
except Exception as e:
ee = "Error: " + e
await ctx.send_message(content=ee)
我很确定 if 语句和 kick(User)
是无效语法。你能帮帮我吗?
我的代码:
click here
试试这个:
@bot.command()
@has_permissions(kick_members=True)
async def kick(self, ctx, Member: discord.Member):
await bot.kick(Member)
@kick.error
async def kick_error(error, ctx):
if isinstance(error, MissingPermissions):
await ctx.send("You don't have permission to do that!")
不要忘记导入 has_permissions
:from discord.ext.commands import has_permissions
实际上有一种无需导入即可执行此操作的更好方法。我建议不要导入,而只是按照我在下面显示的方式执行此操作,因为如果您打算导入所有这些,它将为您节省一些时间。
这不需要为 has_permissions 导入任何内容。
@commands.has_permissions(kick_members=True)
async def kick(self, ctx, Member: discord.Member):
await bot.kick(Member)
我正在为我的 discord.py 机器人发出踢球命令。以下是踢命令可能的一些代码:
async kick_command(self, ctx, userName: discord.User):
prefix_used = ctx.prefix
alias_used = ctx.invoked_with
text = msg[len(prefix_used) + len(alias_used):]
if discord.User permissions = "admin":
try:
kick(User)
except Exception as e:
ee = "Error: " + e
await ctx.send_message(content=ee)
我很确定 if 语句和 kick(User)
是无效语法。你能帮帮我吗?
我的代码: click here
试试这个:
@bot.command()
@has_permissions(kick_members=True)
async def kick(self, ctx, Member: discord.Member):
await bot.kick(Member)
@kick.error
async def kick_error(error, ctx):
if isinstance(error, MissingPermissions):
await ctx.send("You don't have permission to do that!")
不要忘记导入 has_permissions
:from discord.ext.commands import has_permissions
实际上有一种无需导入即可执行此操作的更好方法。我建议不要导入,而只是按照我在下面显示的方式执行此操作,因为如果您打算导入所有这些,它将为您节省一些时间。
这不需要为 has_permissions 导入任何内容。
@commands.has_permissions(kick_members=True)
async def kick(self, ctx, Member: discord.Member):
await bot.kick(Member)