Я работаю над диссон-ботом для базовой модерации, который пока делает по крайней мере 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)
Но команды могут использовать любой член.Итак, попытался следовать этому = Система разрешений для 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
и т. Д., Также использовались для командования.
Заранее спасибо за помощь!Кроме того, извините, если я пропустил что-то глупое или глупое; -;