【发布时间】:2021-03-12 16:30:04
【问题描述】:
我正在开发我的 fortnite discord 机器人,我想切换化妆品 API。但是我想切换到 AKA https://fortniteapi.io 的 API 不允许我用我的代码来表达 json。请有人帮忙。
这是我的代码:
async with aiohttp.ClientSession() as session:
async with session.get(f"https://fortniteapi.io/items/list?name={item}", headers={'Authorization':'auth'}) as r:
try:
json = await r.json()
for sub_dict in json['items']:
items = sub_dict
print(items)
embed=discord.Embed(title=f"{items['id']}", description=f"{items['description']}")
embed.add_field(name="Name", value=f"{items['name']}", inline=True)
embed.add_field(name="Type", value=f"{items['type']}", inline=True)
embed.add_field(name="Set", value=f"{items['set']}", inline=True)
embed.set_footer(text="Jonsey Bot | Created By ignBane#1828")
await ctx.send(embed=embed)
except Exception as e:
embed=discord.Embed(title="Oops, that wasn't supposed to happen.", color=0xff0000)
embed.add_field(name="Error:", value=f"``\n{e}\n``", inline=True)
embed.set_footer(text="Jonsey Bot | Created By ignBane#1828")
await ctx.send(embed=embed)
这是我的网站 json。
{'result': True, 'lang': 'en', 'itemsCount': 1, 'items': [[{'id': 'CID_610_Athena_Commando_M_ShiitakeShaolin', 'type': 'outfit', 'name': 'Madcap', 'description': 'The master of mushrooms enters the fight.', 'rarity': 'epic', 'internalRarity': 'epic', 'price': 0, 'added': '2020-07-04', 'reactive': False, 'releaseDate': None, 'interest': 7.84, 'images': {'icon': 'https://media.fortniteapi.io/images/4a7f5d675a4949867abca11cbfe29206/transparent.png', 'full_size': 'https://media.fortniteapi.io/images/4a7f5d675a4949867abca11cbfe29206/featured.png', 'featured': None, 'background': 'https://media.fortniteapi.io/images/4a7f5d675a4949867abca11cbfe29206/background.png', 'full_background': 'https://media.fortniteapi.io/images/4a7f5d675a4949867abca11cbfe29206/background_full.en.png'}, 'video': None, 'gameplayTags': ['Cosmetics.UserFacingFlags.HasVariants', 'Cosmetics.Source.ItemShop', 'Cosmetics.Set.MushroomQueen', 'Cosmetics.Filter.Season.12'], 'set': 'Fungus King'}]]}
这是我遇到的错误
list indices must be integers or slices, not str
它应该做的是发送所有信息,例如名称、类型、设置之类的东西。但是由于错误处理,机器人会发送此“列表索引必须是整数或切片,而不是 str”。请有人帮忙。
【问题讨论】:
标签: python json python-requests discord