Skip to content

消息模板

介绍

  • 梦幻云平台使用的消息模板基于 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=16",
		"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=1",
		"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=1",
		"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=16",
				"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=16",
				"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()

基于 MIT 许可发布