如何使不和谐的机器人仅响应特定级别的命令

时间:2019-07-05 00:49:26

标签: python-3.x discord discord.py

我已经使用python在我的服务器上安装了一个不和谐的bot,任何人都可以加入我的服务器并使用该bot,但是我只希望mods角色可以使用特定的命令。因此,如果有人刚进入服务器,他们将无法使用显示一则信息的命令,而该信息只能由mod看到,而可以与他们一起玩琐事或其他东西。

2 个答案:

答案 0 :(得分:1)

您可以使用装饰器@has_permission

import discord
from discord.ext.commands import has_permission

@bot.command(pass_context=True)
@has_permission(administrator=True)
async def some_command(ctx):
    # something to do.

有几个权限,您可以在here上看到它们。所有@property都可以用作权限。

答案 1 :(得分:0)

我自己是不和谐的机器人制造商。

您实际上可以通过上下文访问消息作者的角色。

这里是一个例子:

async def command_for_mods(ctx, further_arguments):
    if "moderator" in [y.name.lower() for i in ctx.author.roles]:
        # Do things only moderators can do
    else:
        # Tell the user they don't have the moderator role or pass

如果有任何错误,请告诉我,因为我可能不准确。