web-dev-qa-db-ja.com

ユーザーが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)が無効な構文であることを確認します。手伝って頂けますか?

私のコード: ここをクリック

4
user12327406

これを試して:

@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

1
K. Koster

輸入せずにこれをやることができるほど良い方法があります。私はあなたがそれらのすべてをインポートする予定であれば、私があなたを節約するので、私はこれを輸入しないようにすることをお勧めします。

これはhas_permissionsのために何かをインポートする必要はありません。


@commands.has_permissions(kick_members=True)  
async def kick(self, ctx, Member: discord.Member):
    await bot.kick(Member)
 _
0
MzMiraculous