Discord.py开发LOL机器人:Embed字段图片URL显示问题求助
解决Discord Embed字段显示图片而非链接的问题
嘿,我刚好遇到过类似的问题!你现在的代码只是把图片URL直接丢进Embed字段的value里,Discord自然只会显示纯文本链接啦。要让它变成图片,得用Discord支持的Markdown图片语法才行,给你两种可行的解决方案:
方案1:直接在字段value中使用Markdown图片语法
这是最简单的方法,只需要把原来的纯URL改成的格式,Discord就会自动把它渲染成图片。修改后的代码如下:
embed.add_field(name=f"Player : name", value=f"", inline=True) await ctx.send(embed=embed)
- 加
inline=True是为了让多个字段可以并排显示,适合你要展示多个英雄图片的场景; ![英雄头像]里的文本是图片加载失败时显示的替代文本,你可以改成更贴合的内容,比如对应英雄的名字。
方案2:用Embed的缩略图/主图属性(适合单张重点图片)
如果字段里的图片渲染有问题(偶尔Discord会限制字段内的Markdown渲染),可以把图片放到Embed的缩略图或者主图位置,再配合字段文字说明:
# 设置缩略图(显示在Embed左上角) embed.set_thumbnail(url=ChampImageUrl) embed.add_field(name=f"Player : name", value="当前使用英雄") await ctx.send(embed=embed) # 或者设置主图(显示在Embed底部) embed.set_image(url=ChampImageUrl) embed.add_field(name=f"Player : name", value="当前使用英雄") await ctx.send(embed=embed)
额外注意事项
- 确保你的
ChampImageUrl是公开可访问的直接图片链接(op.gg的英雄头像URL一般都满足这个要求),且格式是JPG/PNG这类Discord支持的图片格式; - 如果需要展示多张图片,优先用方案1的
inline=True字段配合图片语法,效果会更整洁。
内容的提问来源于stack exchange,提问作者xtool
相关产品推荐
相关产品推荐

