Zagir-vip
@Zagir-vip
Web dev, Game dev, app dev, Разработчик на Python!

Как отловить ошибку в slash commands на Python?

Как отловить ошибку в slash командах?

Код:
@slash.slash(name="clear", description="Удалить сообщения", guild_ids=guild_ids, 
				options=[create_option(name="amount", description="Кол.во сообщений от 0 до 1000.", option_type=4, required=True)])
@client.command()
@commands.has_permissions(manage_messages=True)
@commands.bot_has_permissions(manage_messages=True)
async def clear(ctx, amount: int):
	if amount < 0 or amount > 1000:
		await ctx.reply("Неверно указано кол.во сообщений.\nмин **0** макс **1000**.")
	else:
		await ctx.channel.purge(limit=amount)
		await ctx.send(f"Удалено **{amount}** сообщений.", delete_after=5)


обработчик ошибок:
@client.event
async def on_command_error(ctx, error):
	if isinstance(error, MissingPermissions):
		return await ctx.send("**У вас не достаточно прав!**")
	if isinstance(error, BotMissingPermissions):
		return await ctx.send("У меня нет прав на выполнения данной команды!\n**Нужные права:** \n > `Кикать пользователей`(для команды /kick), \n > `банить пользователей`(для команды /ban), \n > `удалять сообщения`(для команды /clear и защиты от спама)")


Что делать?
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы