Discord获取用户banner链接后如何转为可在资料页展示的图片?
你当前生成的链接本身就是Discord官方CDN的合法资源地址,按以下步骤调整即可正常在资料页渲染展示:
- 第一步:优化链接格式适配动静态banner
Discord动态banner的id会以a_开头,你需要先根据id前缀拼接对应资源后缀,避免部分场景下静态解析失败,优化后的代码如下:# 请求用户接口获取banner id req = await self.bot.http.request(discord.http.Route("GET", "/users/{uid}", uid=member.id)) banner_id = req['banner'] if banner_id: # 动图用gif后缀,静态图用png后缀 file_ext = "gif" if banner_id.startswith("a_") else "png" banner_url = f"https://cdn.discordapp.com/banners/{member.id}/{banner_id}.{file_ext}?size=1024" - 第二步:按使用场景挂载图片
- 如果是在Discord机器人的消息资料卡中展示,直接将链接填入Embed的图片字段即可:
from discord import Embed profile_embed = Embed(title="用户资料") profile_embed.set_image(url=banner_url) await ctx.send(embed=profile_embed) - 如果是在自主开发的网页资料页展示,直接用
<img>标签挂载该链接即可,Discord CDN支持公开访问无需额外鉴权。
- 如果是在Discord机器人的消息资料卡中展示,直接将链接填入Embed的图片字段即可:
内容的提问来源于stack exchange,提问作者evil
相关产品推荐
相关产品推荐

