首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我希望只有管理员能够使用我的Discord.py机器人的这个命令

我希望只有管理员能够使用我的Discord.py机器人的这个命令
EN

Stack Overflow用户
提问于 2021-01-13 15:10:43
回答 3查看 993关注 0票数 0

所以我写了一个批量消息删除的代码,但是我希望只有管理员能够使用这个命令。

代码语言:javascript
运行
复制
import discord
import asyncio
from discord.ext.commands import Bot


class MyClient(discord.Client):

    async def on_ready(self):
        print('Logged on as', self.user)
        await client.change_presence(activity=discord.Game('NLRP with MaximaVoid'))

    async def on_message(self, message):
        
        # bulk deletion command

        if message.content.startswith('!ldlmsg'):
            await message.channel.purge()
        if message.content.startswith('!bdelmsg50'):
            delnum = 50
            await message.channel.purge(limit = delnum)
        if message.content.startswith('!bdelmsg10'):
            delnum = 10
            await message.channel.purge(limit = delnum)
EN

Stack Overflow用户

发布于 2021-01-13 20:28:21

您可以使用以下装饰器:

代码语言:javascript
运行
复制
@commands.is_owner()  # If you only want the owner to execute this command

如果有一个名为AdminAdministrator或类似的角色:

代码语言:javascript
运行
复制
@commands.has_role('Admin')  # Anyone who executes the command must have the 'Admin' role to continue

如果您希望具有任何指定角色的用户能够执行该命令:

代码语言:javascript
运行
复制
@commands.has_any_role('Admin', 'Administrator')  # You can add as many roles as you want

最后,如果您只希望拥有'Administrator‘权限的用户能够执行此命令:

代码语言:javascript
运行
复制
@commands.has_permissions(administrator=True, ban_members=True)  # You can add as many permissions as you would like
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65697173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档