Markdown
Bubble 平台支持标准 Markdown 语法,并提供了一组自定义标签用于构建交互式消息界面。
文本组件
<txt> - 文本样式
控制文本大小的标签。
属性:
size: 文本大小,可选值:sm|md|lg|xl|2xl|3xl
示例:
<txt size="xl">大号文字</txt>
<txt size="sm">小号文字</txt>
<txt size="3xl">超大标题</txt>
布局组件
<flex> - 弹性布局容器
用于控制子元素的排列方向。
属性:
v: 是否垂直布局(从上到下),省略或false为水平布局(从左到右)
示例:
<!-- 水平布局(左到右) -->
<flex>
<txt size="lg">左侧</txt>
<txt size="lg">右侧</txt>
</flex>
<!-- 垂直布局(上到下) -->
<flex v>
<txt size="lg">第一行</txt>
<txt size="lg">第二行</txt>
</flex>
<box> - 容器盒子
带边框和背景的容器组件,支持自定义间距。
属性:
variant: 样式变体,可选值borderless(无边框)classWind: 自定义间距类名,支持 Tailwind CSS 间距语法
间距语法:
m-{1-6}: 外边距(margin)p-{1-6}: 内边距(padding)- 方向:
t(top)、r(right)、b(bottom)、l(left)、x(水平)、y(垂直)
示例:
<!-- 默认样式 -->
<box>
<txt size="lg">内容区域</txt>
</box>
<!-- 自定义内边距 -->
<box classWind="p-3">
<txt size="lg">较大内边距</txt>
</box>
<!-- 自定义外边距和内边距 -->
<box classWind="m-2 pt-4">
<txt size="lg">上内边距为 4</txt>
</box>
<!-- 无边框样式 -->
<box variant="borderless">
<txt size="lg">无边框盒子</txt>
</box>
交互组件
<btn> - 按钮
可点击的按钮组件,支持触发命令。
属性:
command: 点击时执行的命令reply: 是否带引用回复,默认falseenter: 是否自动发送,默认falsevariant: 按钮样式变体
样式变体:
default: 默认样式(黑边黑字)borderless: 无边框样式(蓝字)underlined: 下划线样式filled-blue: 蓝色填充filled-green: 绿色填充filled-red: 红色填充filled-yellow: 黄色填充
示例:
<!-- 基础按钮 -->
<btn command="/help">帮助</btn>
<!-- 带引用回复 -->
<btn command="/info" reply="true">查看信息</btn>
<!-- 自动发送 -->
<btn command="/start" enter="true">开始</btn>
<!-- 不同样式变体 -->
<btn variant="borderless" command="/menu">无边框按钮</btn>
<btn variant="filled-blue" command="/confirm">确认</btn>
<btn variant="filled-red" command="/cancel">取消</btn>
<inp> - 输入框
输入框组件,支持多种样式。
属性:
variant: 输入框样式变体
样式变体:
default: 默认样式(灰边白底)borderless: 无边框透明背景underlined: 下划线样式filled-blue/filled-green/filled-red/filled-yellow: 填充样式
示例:
<!-- 默认输入框 -->
<inp />
<!-- 下划线样式 -->
<inp variant="underlined" />
<!-- 填充样式 -->
<inp variant="filled-blue" />
特殊功能
Mention(提及)
支持提及用户、频道和所有人。
语法:
<@用户ID>: 提及用户<#频道ID>: 提及频道@everyone: 提及所有人
示例:
欢迎 <@123> 加入 <#456> 频道!
@everyone 请注意公告
图片
支持标准 Markdown 图片语法和 <img> 标签。
示例:

协议链接
Bubble 协议
使用 bbapi:// 协议创建可点击的命令链接。
语法:
bbapi://win/md/input?command={命令}&reply={true|false}&enter={true|false}
参数:
command: 要执行的命令reply: 是否带引用回复enter: 是否自动发送
示例:
[点击查看帮助](bbapi://win/md/input?command=/help&reply=false&enter=false)
[发送问候](bbapi://win/md/input?command=你好&reply=false&enter=true)
综合示例
欢迎消息
<box>
<flex v>
<txt size="2xl">欢迎加入服务器!</txt>
<txt size="md">请选择以下操作:</txt>
</flex>
</box>
<flex>
<btn variant="filled-blue" command="/profile">查看资料</btn>
<btn variant="filled-green" command="/rules">阅读规则</btn>
</flex>
表单界面
<box classWind="p-3">
<flex v>
<txt size="lg">用户信息</txt>
<flex v>
<txt size="sm">昵称:</txt>
<inp variant="underlined" />
</flex>
<flex v>
<txt size="sm">简介:</txt>
<inp variant="underlined" />
</flex>
<flex>
<btn variant="filled-blue" command="/submit">提交</btn>
<btn variant="borderless" command="/cancel">取消</btn>
</flex>
</flex>
</box>
菜单面板
<box>
<txt size="xl">功能菜单</txt>
</box>
<flex v>
<btn command="/help" reply="false">📖 帮助文档</btn>
<btn command="/settings" reply="false">⚙️ 设置</btn>
<btn command="/about" reply="false">ℹ️ 关于</btn>
</flex>
注意事项
- 标签闭合: 所有自定义标签必须正确闭合
- 属性格式: 属性值建议使用双引号包裹
- 嵌套限制: 避免过深的组件嵌套,保持结构清晰
- 样式一致性: 在同一界面中保持样式风格统一
- 安全性: 自定义标签会自动过滤 HTML 标签,防止 XSS 攻击
最佳实践
- 语义化: 使用
<box>划分功能区域 - 响应式: 使用
<flex>实现自适应布局 - 视觉层次: 通过
<txt size>建立清晰的信息层级 - 交互反馈: 为按钮选择合适的样式变体
- 简洁明了: 避免过度使用样式和嵌套