В моем блоке try я добавил 2 исключения.Один, если бот не имеет разрешения, и другое исключение для всего остального.Однако приведенный ниже код не показывает исключение для ошибки разрешения, вместо этого используется другое.
@commands.command(no_pm=True)
async def mal(self, *, srch=None):
try:
if srch is None:
await self.Nao.say('You need to provide an anime name')
return
if " " in srch:
srch.replace(" ", "/")
url = 'https://api.jikan.moe/v3/search/anime/?q=' + srch + '&page=1'
response = requests.get(url)
data = response.json()
malEmbed = discord.Embed(title=data['results'][0]['title'], description=data['results'][0]['synopsis'], url=data['results'][0]['url'], color=0xff00ff)
malEmbed.set_thumbnail(url=data['results'][0]['image_url'])
malEmbed.add_field(name='Episodes: ', value=data['results'][0]['episodes'])
malEmbed.add_field(name='Rated: ', value=data['results'][0]['rated'])
await self.Nao.say(embed=malEmbed)
except PermissionError:
await self.Nao.say('I need permission to embed links to do this.')
return
except:
await self.Nao.say('There was an error. My developers have been alerted!')
Я удалил разрешение ботов для встраивания ссылок, означающее, что оно должно отвечать исключением для PermissionError
, однаковозвращаясь "Произошла ошибка. Мои разработчики были предупреждены!"вместо этого.