Создайте количество значений, специфичных для числа в ответе API - PullRequest
0 голосов
/ 24 октября 2018

Итак, мне нужно установить число значений, соответствующее числу в Ответе API для вставки разногласий:

    {rows: 7, vbucks: "https://fortnite-public-files.theapinetwork.com/fortnite-vbucks-icon.png",…}
items: [{itemid: "d17ae35-1b64bca-f0cebef-e097b12", name: "Divine Dragon", cost: "???", item: {,…}},…]
0: {itemid: "d17ae35-1b64bca-f0cebef-e097b12", name: "Divine Dragon", cost: "???", item: {,…}}
1: {itemid: "e072f22-591edf6-1243f3d-1686821", name: "Guan Yu", cost: "???", item: {,…}}
2: {itemid: "51c5fcc-445f634-eacbd39-540174d", name: "Loyal Shield", cost: "???", item: {,…}}
3: {itemid: "a7c3fc6-75503a3-393e6cd-8ee4c91", name: "Headbanger", cost: "???",…}
4: {itemid: "88b0141-ba800b9-030f4d4-3efac45", name: "Guandao", cost: "???", item: {,…}}
5: {itemid: "8f7d376-2c49df9-ad16235-6538f87", name: "Onesie", cost: "???", item: {,…}}
6: {itemid: "3c83cd1-592e881-d91e78b-34442d8", name: "Bullseye", cost: "???", item: {,…}}
rows: 7

Посмотрите, как там написано rows: 7, а там 7 вещей?Мне нужно установить 2 значения для каждого выпадающего числа там, причина, по которой мне нужно иметь его в соответствии с числом rows:, потому что число их часто меняется, однако я понятия не имею, как это сделать ... Вот мойкод с 2 значениями, чтобы показать мою идею:

    if unreleased in ('unreleased','upcoming'):
  upcoming = fortnite_api_upcoming(unreleased)

  if upcoming:
    upcomingname0 = upcoming[0]['name']
    upcomingtype0 = upcoming[0]['item']['type']
    upcomingname1 = upcoming[1]['name']
    upcomingtype1 = upcoming[1]['item']['type']

    embed = discord.Embed(title="Item API Search Result", color=0xc600bc)

    embed.set_footer(text="by BattleDash#3866", icon_url="https://pbs.twimg.com/profile_images/1038570723382415361/wVhgKMug_400x400.jpg")
    embed.add_field(name="Unreleased Items", value='{}, **type:** {}\n'.format(upcomingname0, upcomingtype0), inline=False)
    embed.add_field(name="Unreleased Items", value='{}, **type:** {}\n'.format(upcomingname1, upcomingtype1), inline=False)
    await client.send_message(message.channel, embed=embed)
  else:
    await client.send_message(message.channel, 'Failed to get API data for unreleased items, there might be none!')

Спасибо всем, кто может помочь!

1 Ответ

0 голосов
/ 24 октября 2018

Похоже, что все эти элементы доступны в списке items.Почему бы просто не повторить это и использовать каждый элемент в нем?

if upcoming:
    embed = discord.Embed(title="Item API Search Result", color=0xc600bc)
    embed.set_footer(text="by BattleDash#3866", icon_url="https://pbs.twimg.com/profile_images/1038570723382415361/wVhgKMug_400x400.jpg")

    for item in upcoming['items']:
        item_name = item['name']
        item_type = item['item']['type']
        embed.add_field(name="Unreleased Items", value='{}, **type:** {}\n'.format(item_name, item_type), inline=False)

    await client.send_message(message.channel, embed=embed)
else:
    await client.send_message(message.channel, 'Failed to get API data for unreleased items, there might be none!')
...