簡體   English   中英

檢查用戶是否在 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)是無效的語法。 你能幫助我嗎?

我的代碼:點擊這里

嘗試這個:

@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_permissionsfrom 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM