python - 检查用户是否有discord.py的权限

标签 python discord discord.py repl.it

我正在为我的discord.py 机器人创建一个kick 命令。以下是踢命令可能的一些代码:

    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

关于python - 检查用户是否有discord.py的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59398044/

相关文章:

python - 在 django 上获取用户返回 "AnonymousUser"

python - 如何使用 Dual_annealing 设置简单的线性约束?

javascript - Djs 交互与嵌入分开发送附件

python - Discord.py 机器人事件的格式完全相同,但一个会运行,一个不会运行

python - 如果文件已经存在,为什么我的机器人不替换文件?

python - Discord.py 让机器人在 wait_for 答案错误时发送一些内容

python - 自定义Python模块结构

python - 在 python 中访问 autoconf 定义的符号

python - ERROR : Could not build wheels for frozenlist, multidict, yarl,这是安装基于 pyproject.toml 的项目所必需的

python - 是否可以使用不带齿轮的 discord.py 进行面向对象编程?