You need to enable JavaScript to run this app. 如何在discord.py的Embed中把JSON内所有昵称放在单标题对应的同一个值中
优惠活动
大模型
产品
解决方案
定价
更多

如何在discord.py的Embed中把JSON内所有昵称放在单标题对应的同一个值中

代码修改方案

你当前代码的问题是在循环内重复调用add_field(),导致每个昵称都会生成独立的Embed字段,只需要提前拼接好所有昵称内容,再一次性添加字段即可。

修改后的完整代码如下:

@Bot.command()
async def nicknames(ctx, *, message:str=None):
    embed = discord.Embed(title=f"Profile Details", description="nicknames", 
    color=discord.Color.green())
    uuid = MojangAPI.get_uuid(f"{message}")
    profile = MojangAPI.get_profile(uuid)
    people = requests.get('https://api.mojang.com/user/profiles/' + uuid + '/names' )
    people_json  = people.json()
    # 提取所有昵称存入列表
    nickname_list = [item["name"] for item in people_json]
    # 用换行符拼接所有昵称,也可替换为顿号、空格等其他分隔符调整展示效果
    all_nicknames = "\n".join(nickname_list)
    # 仅添加一次字段
    embed.add_field(name="nicknames", value=all_nicknames, inline=False)

    await ctx.send(embed=embed)

补充说明

Discord单个Embed字段的value最多支持1024字符,如果查询到的昵称数量过多超出长度限制,可以自行拆分多个字段存储,或者调整为滚动展示、截断展示等处理逻辑。

内容的提问来源于stack exchange,提问作者Estol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 16:27:04