消息模板
介绍
- 梦幻云平台使用的消息模板基于 Velocity 模板引擎
- 模板引擎是一种用于将数据与静态模板结合生成动态内容的工具
- 梦幻云平台应用模板、指令应用、任务应用等功能的回复内容均支持模板引擎
通用变量
- 每次用户对机器人发送指令后触发回复时,模板引擎均会接收到以下通用变量
- 通用变量包含当次会话的机器人、群、频道、成员、应用、事件、消息、输出、核心、模型等信息
- 不同应用间,除
model字段以外,其他字段数据结构均相同 - 以下为用户发送
签到应用时所收到的变量信息,可作为参考
json
{
"app":{
"modify_time":"2024-07-04 05:37:43",
"icon":"🖊️",
"remark":"",
"modify_by":"admin",
"type":"2",
"example":"签到应用",
"create_by":"admin",
"path":"",
"output_count":0,
"price":0,
"id":1706742958122815489,
"channel_ids":[],
"del_flag":"0",
"config_count":0,
"create_time":"2023-09-27 02:50:06",
"author":"梦幻云平台",
"format":"签到应用",
"expire_time":"2124-06-08 12:00:00",
"avatar":"https://oss.drea.cc/cloud/img/bot/app/sign.png?v=7",
"sort":10,
"regex":"(签到应用)",
"parent_id":1706719345147613185,
"uniq":"sign_app",
"name":"签到应用",
"modify_flag":"0",
"status":"1"
},
"output":{
"uniq":"success",
"name":"成功",
"avatar":"https://oss.drea.cc/cloud/img/bot/output/success.png?v=7",
"type":"0"
},
"core":{
"now_time":"03:35",
"is_at":0,
"now":"2024-07-10 03:35:15",
"now_date":"07-10",
"now_date_time":"2024-07-10 03:35:15",
"integral_name":"金币"
},
"bot":{
"no":"232233550",
"uniq":"2162169",
"name":"梦幻机器人",
"remark":"一款集成了综合群管、花样签到、精彩游戏,几百种实用功能的智能聊天机器人!",
"avatar":"https://oss.drea.cc/cloud/img/bot/app/bot.png",
"id":6,
"platform":"6"
},
"island":{
"no":"24771",
"uniq":"117230",
"name":"梦幻元宇宙",
"remark":"",
"avatar":"https://oss.drea.cc/cloud/img/bot/island/1.png?v=7",
"id":1
},
"channel":{
"uniq":"208526",
"name":"117230"
},
"member":{
"no":"210866118",
"role":"1",
"integral":2364,
"uniq":"1972146",
"name":"Rhyheart",
"avatar":"https://img.imdodo.com/dodo/3af6a47b136867d667aceefb58bb035a.jpg",
"id":1
},
"model":{
"menu_tree":[
{
"outputCount":2,
"icon":"🖊️",
"remark":"",
"delFlag":"0",
"type":"3",
"example":"$name",
"path":"",
"configCount":1,
"modifyTime":"2024-07-04 05:37:43",
"price":0,
"id":1706743055497777154,
"channelIds":[],
"modifyBy":"admin",
"author":"梦幻云平台",
"format":"$name",
"weight":10,
"avatar":"https://oss.drea.cc/cloud/img/bot/app/sign.png?v=7",
"modifyFlag":"0",
"sort":10,
"parentId":1706742958122815489,
"createBy":"admin",
"regex":"($name)",
"expireTime":"2024-07-10 03:32:30",
"createTime":"2023-09-27 02:50:29",
"uniq":"sign",
"name":"签到",
"status":"1"
},
{
"outputCount":1,
"icon":"🖊️",
"remark":"",
"delFlag":"0",
"type":"3",
"example":"$name",
"path":"",
"configCount":0,
"modifyTime":"2024-07-04 05:37:43",
"price":0,
"id":1706743497908768769,
"channelIds":[],
"modifyBy":"admin",
"author":"梦幻云平台",
"format":"$name",
"weight":20,
"avatar":"https://oss.drea.cc/cloud/img/bot/app/sign.png?v=7",
"modifyFlag":"0",
"sort":20,
"parentId":1706742958122815489,
"createBy":"admin",
"regex":"($name)",
"expireTime":"2024-07-10 03:32:30",
"createTime":"2023-09-27 02:52:14",
"uniq":"query",
"name":"查询",
"status":"1"
}
]
},
"event":{
"uniq":"c6d2fd51c20c4c668f5f1c6e32a4b559",
"body":{},
"type":"CHANNEL_MESSAGE"
},
"message":{
"uniq":"598718919049478144",
"body":"签到应用"
},
"atList":[]
}视图方法
- 梦幻云平台消息模板需要支持多平台、多类型(文本、卡片、自定义)
- 模板引擎会根据不同平台进行对应的解析处理
- 因此视图内容必须用视图方法包裹,否则消息模板将无法解析
TIP
详细示例待补充,敬请期待!
标题
js
v.title("内容")正文
js
v.text("内容")图文
js
v.title("图标链接", "内容")分割线
js
v.divider()换行
js
v.newline()引用
js
v.quote("内容")列表项
js
v.item("内容")图片
js
v.img("图片链接")图片
js
v.title("图片链接", "宽度", "高度")文本方法
- 梦幻云平台消息模板需要支持多平台、多类型(文本、卡片、自定义)
- 模板引擎会根据不同平台进行对应的解析处理
- 因此特殊文本必须用文本方法包裹,否则消息模板将无法解析
TIP
详细示例待补充,敬请期待!
加粗
js
t.bold("内容")斜体
js
t.italic("内容")链接
js
t.url("链接")链接
js
t.url("链接", "标题")按钮
js
t.btn("名称")按钮
js
t.btn("名称", "链接")应用
js
t.app("标识")应用
js
t.app("标识", "标题")分页
js
t.page("分页信息", "应用信息")艾特
js
t.at("用户ID")艾特所有人
js
t.at_all()提及频道
js
t.channel("频道ID")表情
js
t.emoji("表情ID")数据方法
- 梦幻云平台消息模板支持自定义数据操作
- 数据名称相当于数据表名
- 数据模型相当于具体数据,格式为JSON格式
TIP
详细示例待补充,敬请期待!
数据列表
js
d.page("名称", "数据模型")查看数据
js
d.detail("名称", "数据模型")新增数据
js
d.add("名称", "数据模型")修改数据
js
d.modify("ID", "数据模型")删除数据
js
d.remove("ID")工具方法
- 梦幻云平台消息模板支持各种工具方法
- 利用工具方法可实现各类文本操作
- 梦幻云平台工具方法大多采用 Hutool 开源工具类
TIP
详细方法待补充,敬请期待!
文本工具
js
str.xxx()数字工具
js
number.xxx()日期工具
js
date.xxx()HTTP工具
js
http.xxx()JSON工具
js
json.xxx()