【发布时间】:2019-03-06 17:17:51
【问题描述】:
我正在开发一个用于基本审核的不和谐机器人,至少现在可以使用 kick、ban 和 mute。但问题是其他成员也可以使用它。我只想要几个指定的角色可以使用它。
也不想根据@role 处理它,因为不同服务器上的角色名称不一样。还希望使机器人尽可能简单。
现在,我是这样开始的:
@client.command(name='ban')
async def mod_ban(member: discord.User):
try:
await client.ban(member, delete_message_days=0)
await client.say('**{0}** has been banned.'.format(str(member)))
except Exception as error:
await client.say(error)
但是任何成员都可以使用这些命令。所以,试着按照这个 = Permission System for Discord.py Bot 并最终得到这个:
@client.command(name='ban')
async def mod_ban(context, member: discord.User):
if context.message.author.server_premission.administrator:
try:
await client.ban(member, delete_message_days=0)
await client.say('**{0}** has been banned.'.format(str(member)))
except Exception as error:
await client.say(error)
else:
await client.say('Looks like you don\'t have the perm.')
这让我遇到了这个错误:;-;
raise MissingRequiredArgument('{0.name} is a required argument that is missing.'.format(param))
discord.ext.commands.errors.MissingRequiredArgument: member is a required argument that is missing.
此外,除了context.message.author.server_premission.administrator,我不仅希望具有管理员权限的角色使用此命令。我还想要一些其他具有很少权限的角色,例如manage message、manage roles 等,也可以用来指挥。
提前感谢您的帮助!另外,对不起,如果我错过了任何愚蠢或愚蠢的事情;-;
【问题讨论】:
标签: python python-3.x discord discord.py