<i id='5nomq'><tr id='5nomq'><dt id='5nomq'><q id='5nomq'><span id='5nomq'><b id='5nomq'><form id='5nomq'><ins id='5nomq'></ins><ul id='5nomq'></ul><sub id='5nomq'></sub></form><legend id='5nomq'></legend><bdo id='5nomq'><pre id='5nomq'><center id='5nomq'></center></pre></bdo></b><th id='5nomq'></th></span></q></dt></tr></i><div id='5nomq'><tfoot id='5nomq'></tfoot><dl id='5nomq'><fieldset id='5nomq'></fieldset></dl></div>

  • <small id='5nomq'></small><noframes id='5nomq'>

      <bdo id='5nomq'></bdo><ul id='5nomq'></ul>
      <legend id='5nomq'><style id='5nomq'><dir id='5nomq'><q id='5nomq'></q></dir></style></legend>

        <tfoot id='5nomq'></tfoot>
      1. 如何只允许管理员执行命令

        时间:2023-09-09
        • <legend id='SlX3S'><style id='SlX3S'><dir id='SlX3S'><q id='SlX3S'></q></dir></style></legend>
            <bdo id='SlX3S'></bdo><ul id='SlX3S'></ul>

            <tfoot id='SlX3S'></tfoot>

              <small id='SlX3S'></small><noframes id='SlX3S'>

                    <tbody id='SlX3S'></tbody>
                  <i id='SlX3S'><tr id='SlX3S'><dt id='SlX3S'><q id='SlX3S'><span id='SlX3S'><b id='SlX3S'><form id='SlX3S'><ins id='SlX3S'></ins><ul id='SlX3S'></ul><sub id='SlX3S'></sub></form><legend id='SlX3S'></legend><bdo id='SlX3S'><pre id='SlX3S'><center id='SlX3S'></center></pre></bdo></b><th id='SlX3S'></th></span></q></dt></tr></i><div id='SlX3S'><tfoot id='SlX3S'></tfoot><dl id='SlX3S'><fieldset id='SlX3S'></fieldset></dl></div>

                1. 本文介绍了如何只允许管理员执行命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我正在编写以下命令

                  @bot.command(pass_context=True)
                  async def admins_only_command(ctx, *, args):
                      '''do stuff
                  

                  我怎样才能将此命令限制为仅限管理员?我尝试查看 ctx.author.roles.role 并显示 @everyone.如何检查给定用户是否为 admin?

                  how can i restrict this command to admins only? I tried looking at ctx.author.roles.role and it says @everyone. How can i check if the given user is an admin or not?

                  推荐答案

                  有两种方法:通过角色白名单使用 has_any_role

                  There are two ways: by a whitelist of roles using has_any_role

                  @bot.command(pass_context=True)
                  @commands.has_any_role("Big Cheese", "Medium Cheese")
                  async def admins_only_command(ctx, *, args):
                      '''do stuff'''
                  

                  或通过使用 <代码>has_permissions

                  @bot.command(pass_context=True)
                  @commands.has_permissions(administrator=True)
                  async def admins_only_command(ctx, *, args):
                      '''do stuff'''
                  

                  这两个装饰器都是 Checks,并且会引发 CommandError 的一些子类,如果它们失败,您可以选择处理.

                  Both of these decorators are Checks, and will raise some subclass of CommandError for you to optionally handle if they fail.

                  这篇关于如何只允许管理员执行命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:如何停止运行不和谐的机器人进程(python) 下一篇:discord.py 循环导入(AttributeError:部分初始化模块&

                  相关文章

                  最新文章

                  • <bdo id='pGrV4'></bdo><ul id='pGrV4'></ul>

                2. <small id='pGrV4'></small><noframes id='pGrV4'>

                  <i id='pGrV4'><tr id='pGrV4'><dt id='pGrV4'><q id='pGrV4'><span id='pGrV4'><b id='pGrV4'><form id='pGrV4'><ins id='pGrV4'></ins><ul id='pGrV4'></ul><sub id='pGrV4'></sub></form><legend id='pGrV4'></legend><bdo id='pGrV4'><pre id='pGrV4'><center id='pGrV4'></center></pre></bdo></b><th id='pGrV4'></th></span></q></dt></tr></i><div id='pGrV4'><tfoot id='pGrV4'></tfoot><dl id='pGrV4'><fieldset id='pGrV4'></fieldset></dl></div>
                  <tfoot id='pGrV4'></tfoot>

                  1. <legend id='pGrV4'><style id='pGrV4'><dir id='pGrV4'><q id='pGrV4'></q></dir></style></legend>