Привет, не могли бы вы помочь мне исправить эту ошибку, я не очень хорошо разбираюсь в API. И если вы исправите ее, пожалуйста, подробно объясните, как вы ее исправили, пытаясь изучить python.
Код:
@client.command()
async def avatarimg1(ctx, username):
user = await roblox.get_user_by_username(username)
embed = Embed(title=f"Avatar of {user.name}")
response = requests.get(f'https://thumbnails.roblox.com/v1/users/avatar?userIds={user.id}&size=420x420&format=Png&isCircular=false')
json_data = json.loads(response.text)
imagesj = json_data["imageUrl"]
embed.set_thumbnail(imagesj)
await ctx.send(embed=embed)
Ошибка:
> Ignoring exception in command avatarimg1: Traceback (most recent call
> last): File
> "/home/runner/dasdasdasd/venv/lib/python3.8/site-packages/discord/ext/commands/core.py",
> line 85, in wrapped
> ret = await coro(*args, **kwargs) File "main.py", line 40, in avatarimg1
> imagesj = json_data["imageUrl"] KeyError: 'imageUrl'
>
> The above exception was the direct cause of the following exception:
>
> Traceback (most recent call last): File
> "/home/runner/dasdasdasd/venv/lib/python3.8/site-packages/discord/ext/commands/bot.py",
> line 939, in invoke
> await ctx.command.invoke(ctx) File "/home/runner/dasdasdasd/venv/lib/python3.8/site-packages/discord/ext/commands/core.py",
> line 863, in invoke
> await injected(*ctx.args, **ctx.kwargs) File "/home/runner/dasdasdasd/venv/lib/python3.8/site-packages/discord/ext/commands/core.py",
> line 94, in wrapped
> raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an
> exception: KeyError: 'imageUrl'
Если бы кто-то мог мне помочь, я бы оценил это :)
Когда идентификатор заменяется, у него есть imageUrl, посмотрите на эту ссылку thumbnails.roblox.com/v1/users/…
Первый слой ответа имеет только один ключ data
, который представляет собой список, поэтому вам нужно получить первый элемент и получить доступ к ключу imageUrl
на нем.
imagesj = json_data['data'][0]['imageUrl']
json_data
нет ключаimageUrl