用 Python 制作一个不和谐的机器人

时间:2021-03-27 02:26:53

标签: python discord discord.py

@client.event
async def on_message(message):
    if message.content.startswith('bot, '):
        if message.content[5:].startswith(('clear')):
            if message.author.guild_permissions.administrator:
                amount=int(message.content[10:])
                await message.channel.purge(limit=amount)
            else:
                await message.channel.send('not enough energy.')

除了管理员, 我想让某些角色执行命令。 我该怎么办?

角色名称 = 不是管理员 id = 825183755484266529

1 个答案:

答案 0 :(得分:0)

您可以得到 message.author.roles,它是 listRole。然后,您可以迭代此列表并检查是否有任何角色具有“管理员”角色 ID。示例:

ADMIN_ROLE_ID = 1234567890
def can_perform_commands(member):
    for role in member.roles:
        if role.id == ADMIN_ROLE_ID:
            return True
    return False

然后你可以像这样使用这个函数:

if can_perform_commands(message.author):
    # do whatever the command does
else:
    message.channel.send("I'm sorry, but you don't have permission to use this command.")