Бот Discord.py не отправляет вставки должным образом - PullRequest
1 голос
/ 15 апреля 2020

Я пытаюсь сделать топ-10 лидеров для моего сервера. Поскольку, кажется, существует ограничение на количество полей, которые вы можете добавлять и отправлять в одной вставке, я разделил табло. Однако моя программа, похоже, только правильно отправляет одну вставку, как показано на следующем изображении . (Оператор if на этом изображении имеет значение False)

В консоли нет сообщения об ошибке.

embed = discord.Embed(title = "**Leaderboard**", description = "Top 5")
    embed.set_footer(icon_url = bot.user.avatar_url)

    embed.add_field(name = "Users", value = f"{user1}", inline = True) 
    embed.add_field(name = "Beans", value = f"{bean1}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)
    embed.add_field(name = "\u200b", value = f"{user2}", inline = True) 
    embed.add_field(name = "\u200b", value = f"{bean2}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)
    embed.add_field(name = "\u200b", value = f"{user3}", inline = True) 
    embed.add_field(name = "\u200b", value = f"{bean3}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)
    embed.add_field(name = "\u200b", value = f"{user4}", inline = True)
    embed.add_field(name = "\u200b", value = f"{bean4}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)
    embed.add_field(name = "\u200b", value = f"{user5}", inline = True) 
    embed.add_field(name = "\u200b", value = f"{bean5}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)

    await ctx.send(embed = embed)

    embed2 = discord.Embed(title = "**Leaderboard**", description = "Top 10")
    embed.set_footer(icon_url = bot.user.avatar_url)

    embed.add_field(name = "Users", value = f"{user6}", inline = True)
    embed.add_field(name = "Beans", value = f"{bean6}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)
    embed.add_field(name = "\u200b", value = f"{user7}", inline = True) 
    embed.add_field(name = "\u200b", value = f"{bean7}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)
    embed.add_field(name = "\u200b", value = f"{user8}", inline = True)
    embed.add_field(name = "\u200b", value = f"{user8}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)
    embed.add_field(name = "\u200b", value = f"{user9}", inline = True) 
    embed.add_field(name = "\u200b", value = f"{bean9}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)
    embed.add_field(name = "\u200b", value = f"{user10}", inline = True) 
    embed.add_field(name = "\u200b", value = f"{bean10}", inline = True)
    embed.add_field(name = "\u200b", value = "\u200b", inline = False)

    time.sleep(1)
    await ctx.send(embed = embed2)

    if leaderid not in {user001,user002,user003,user004,user005,user006,user007,user008,user009,user010}:
        embed3 = discord.Embed(title = "**Leaderboard**", description = "Your ranking")
        embed.set_footer(icon_url = bot.user.avatar_url)

        embed.add_field(name = "\u200b", value = f"{user00}", inline = True)
        embed.add_field(name = "\u200b", value = f"{bean00}", inline = True)
        embed.add_field(name = "\u200b", value = "\u200b", inline = False)

        time.sleep(1)
        await ctx.send(embed = embed3)

1 Ответ

0 голосов
/ 15 апреля 2020

Вы создаете и отправляете embed2, но изменяете только embed. Вам нужно изменить embed2 вместо

embed2 = discord.Embed(title = "**Leaderboard**", description = "Top 10")
embed2.set_footer(icon_url = bot.user.avatar_url)

embed2.add_field(name = "Users", value = f"{user6}", inline = True)
embed2.add_field(name = "Beans", value = f"{bean6}", inline = True)
...
...