discord.py开发中如何在embed嵌入内容里使用代码块
discord.py 在Embed嵌入内容中使用代码块方法
Discord全场景支持标准Markdown围栏代码块语法,Embed的描述、字段值、页脚等文本区域都可以直接传入包裹好的代码块字符串,无需调用特殊接口。
效果对比
- 当前实现效果:

- 目标参考效果:

具体实现方式
代码块遵循标准Markdown围栏格式:
用三个连续反引号包裹代码内容,开头的反引号后追加对应语言标识即可实现语法高亮,不填标识则显示无高亮的纯深色代码块。
基础格式:```语言标识 代码内容
可直接运行的discord.py示例
import discord from discord.ext import commands bot = commands.Bot(command_prefix="!", intents=discord.Intents.default()) @bot.command() async def show_code(ctx): # 待展示的代码内容 demo_code = """ @bot.command() async def ping(ctx): await ctx.send(f"当前延迟:{round(bot.latency*1000)}ms") """ # 构造Embed,将拼接完成的代码块字符串传入对应文本字段 embed = discord.Embed( title="命令代码示例", # 核心:三个反引号后加py标识指定Python语法高亮,代码前后加换行避免格式解析错误 description=f"```py\n{demo_code}\n```", color=discord.Color.green() ) await ctx.send(embed=embed) bot.run("你的机器人Token")
注意事项
- 代码块前后建议保留换行,不要和其他普通文本紧贴,否则容易出现Markdown解析失效
- 不要在Embed的
title(标题)字段中放置代码块,标题区域不支持Markdown代码格式,会直接将反引号作为普通字符显示 - 常用语法高亮标识:
py/python对应Python代码,js对应JavaScript,sql对应SQL语句,bash对应Shell命令,json对应JSON格式内容 - 严格遵守Embed字段长度限制:Embed描述区域最多支持4096个字符,单个字段值最多支持1024个字符,代码内容超长时需要拆分,或放到普通消息区域发送
内容的提问来源于stack exchange,提问作者Grimreaper8793
相关产品推荐
相关产品推荐

