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

如何在discord.py的Embed中添加多个URL并将每个video_title行转为对应URL的超链接?

解决Discord.py Embed的两个URL相关问题

嘿,我来帮你搞定这两个Embed的问题,核心都是利用Discord支持的Markdown语法来实现的,咱们一步步来:

1. 如何在Embed中添加多个URL?

Discord的Embed组件支持在**描述(description)或者字段(fields)**中使用Markdown格式的链接,你可以在同一个文本块里放置多个链接,只要遵循[显示文本](链接地址)的格式就行。针对你的列表场景,把每个视频标题和对应URL做成链接列表是最适配的方案。

2. 让每一行的video_title成为对应URL的可点击超链接

你现在的代码只是把纯文本标题简单拼接,自然没有链接效果。只需要把每个video_titleX替换成Markdown链接格式,就能让标题变成可点击的超链接了。

修改后的完整代码示例

import discord
import datetime

# 假设你已经定义了video_title1~10和url1~10这些变量
embed = discord.Embed(title="", description=(
    f"`1.` [{video_title1}]({url1})\n"
    f"`2.` [{video_title2}]({url2})\n"
    f"`3.` [{video_title3}]({url3})\n"
    f"`4.` [{video_title4}]({url4})\n"
    f"`5.` [{video_title5}]({url5})\n"
    f"`6.` [{video_title6}]({url6})\n"
    f"`7.` [{video_title7}]({url7})\n"
    f"`8.` [{video_title8}]({url8})\n"
    f"`9.` [{video_title9}]({url9})\n"
    f"`10.` [{video_title10}]({url10})\n"
), color=9699539)
embed.timestamp = datetime.datetime.utcnow()
embed.set_footer(text=f"{ctx.message.author.name}", icon_url="https://i.pinimg.com/originals/26/c8/03/26c8038be8ac9ac7594bb23a03c5c8be.jpg")
await ctx.channel.send(embed=embed)

关键说明

  • 用f-string拼接链接格式更简洁易读,替代了原来繁琐的字符串相加方式。
  • 每个标题都用[{video_titleX}]({urlX})包裹,Discord会自动渲染成可点击的超链接。
  • 保留原来的\n换行符,让列表每行独立显示,和你期望的效果完全匹配。

这样修改后,Embed里的每个视频标题都会变成对应URL的可点击链接,完美实现你想要的展示效果~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 08:42:43