【问题标题】:Discord.py bot not sending embeds properlyDiscord.py 机器人未正确发送嵌入
【发布时间】:2020-07-28 10:40:13
【问题描述】:

我正在尝试为我的服务器制作前 10 名排行榜。由于您可以在一个嵌入中添加和发送多少个字段似乎有限制,所以我划分了记分牌。但是,我的程序似乎只正确发送了一个嵌入,如下面的image 所示。(此图像中的 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)

【问题讨论】:

    标签: python-3.x discord discord.py


    【解决方案1】:

    您创建并发送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)
    ...
    

    【讨论】:

    • 我明白了,谢谢。由于我复制粘贴了很多代码,所以我一定错过了。
    猜你喜欢
    • 2023-03-30
    • 2021-02-05
    • 2020-11-04
    • 2021-04-09
    • 2021-02-13
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    相关资源
    最近更新 更多