@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
答案 0 :(得分:0)
您可以得到 message.author.roles
,它是 list
的 Role
。然后,您可以迭代此列表并检查是否有任何角色具有“管理员”角色 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.")