You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Discord Bot获取并显示图片的CDN链接?

解决方法:获取Discord图片CDN链接并替换

完全可行,实现思路是先发送带附件的消息,从返回的消息对象中提取附件的CDN链接,再用这个链接更新embed或者直接展示。

修改后的代码示例

with io.BytesIO() as image_binary:
    img1.save(image_binary, 'PNG')
    image_binary.seek(0)
    embed = discord.Embed(title="Skin Minecraft", url="https://twitter.com/", description="", color=discord.Colour.random())
    # 先发送带附件的消息,此时embed用attachment占位
    message = await ctx.send(embed=embed, file=discord.File(fp=image_binary, filename=f"Skin-{usuariominecraft}.png"))
    
    # 从消息的附件中提取CDN链接
    if message.attachments:
        image_cdn_url = message.attachments[0].url
        # 更新embed的图片链接为CDN地址
        embed.set_image(url=image_cdn_url)
        # 编辑原消息,移除附件,只保留更新后的embed
        await message.edit(embed=embed, attachments=[])
        # 也可以直接发送CDN链接给用户
        await ctx.send(f"图片CDN链接:{image_cdn_url}")

关键说明

  • Discord会自动为上传的附件生成永久CDN链接,这个链接可以直接在embed或者聊天中使用,无需再携带附件。
  • 必须先发送带附件的消息才能获取到CDN链接,因为链接是Discord服务器在接收附件后生成的,无法提前预知。
  • 如果你不需要保留原来的embed,也可以直接在获取链接后发送纯文本链接,省去编辑消息的步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:30:59