消息格式
info
一些常用的消息格式说明
可能存在部分平台不支持 一些个性效果,实际以对应平台的要求为准
如果想更定制化发送消息,请了解对应平台包client接口说明
Text
src/response/**/*/res.ts
import { createSelects } from 'alemonjs'
import { Text, useSend } from 'alemonjs'
export const selects = createSelects(['message.create'])
export default onResponse(selects, event => {
// 创建
const Send = useSend(event)
Send(Text('这个'), Text('标题', { style: 'bold' }), Text('被加粗了'))
Send(Text('这个'), Text('标题'), Text('没有变化'))
Send(Text(`// 我的代码块 \nconst Send = useSend(event)`, { style: 'block' }))
})
Image
src/response/**/*/res.ts
import { createSelects } from 'alemonjs'
import { useSend, Image } from 'alemonjs'
import url from '@src/assets/test.jpeg'
export const selects = createSelects(['message.create'])
export default onResponse(selects, event => {
const Send = useSend(event)
// 发送本地图片文件
Send(Image.file(url))
// url
Send(Image.url('https://xxx.com/yyy.png'))
// buffer
const img = readFileSync(url)
Send(Image(img))
})
Mention
response/**/*/res.ts
import { createSelects } from 'alemonjs'
import { useSend, Text, Mention } from 'alemonjs'
export const selects = createSelects(['message.create'])
export default onResponse(selects, event => {
const Send = useSend(event)
// 发送多种类型的消息
Send(Text('Hello '), Mention(event.UserId), Text(', How are things going?'))
// @ 所有人
Send(Mention())
// @ channel
Send(Mention(event.ChannelId, { belong: 'channel' }))
})
Ark
warning
实验性功能
response/**/*/res.ts
import { Ark, createSelects, useSend } from 'alemonjs'
const selects = createSelects(['message.create'])
const response = onResponse(selects, event => {
const Send = useSend(event)
// 普通卡片
Send(
Ark.Card({
decs: '你是谁',
title: '收你来啦',
prompt: '通知信息!!',
metadecs: '阿柠檬2正式版发送',
cover:
'https://pub.idqqimg.com/pc/misc/files/20190820/2f4e70ae3355ece23d161cf5334d4fc1jzjfmtep.png',
link: '',
subtitle: '赞赞赞'
})
)
// 大图卡片
Send(
Ark.BigCard({
title: '收你来啦',
prompt: '通知信息!!',
cover:
'https://pub.idqqimg.com/pc/misc/files/20190820/2f4e70ae3355ece23d161cf5334d4fc1jzjfmtep.png',
link: '',
subtitle: '赞赞赞'
})
)
// 列表
Send(
Ark.list(
Ark.listTip({ desc: '状态扭转', prompt: '状态扭转' }),
Ark.listContent(
Ark.listItem('需求标题:UI问题解决'),
Ark.listItem('点击下列动作直接扭转状态到:'),
Ark.listItem({ title: '状态1', link: 'https://alemonjs.com?status=1' }),
Ark.listItem({ title: '状态2', link: 'https://alemonjs.com?status=2' }),
Ark.listItem('请关注')
)
)
)
})
export default response
Button
warning
实验性功能
import { BT, createSelects, useSend } from 'alemonjs'
const selects = createSelects(['message.create'])
const response = onResponse(selects, event => {
const Send = useSend(event)
// 一行多个
Send(BT.group(BT.row(BT('开始', '/开始游戏'), BT('结束', '/结束游戏'))))
// 多行多个
Send(
BT.group(
BT.row(BT('开始', '/开始游戏'), BT('结束', '/结束游戏')),
BT.row(BT('退出', '/退出游戏'), BT('注销', '/注销账户'))
)
)
// 更多类型
Send(
BT.group(
// link
BT.row(BT('访问文档', 'https://alemonjs.com/', { isLink: true })),
// 回调
BT.row(BT('是否同意', { click: '/同意', confirm: '/同意', cancel: '/不同意' })),
// 自动发送 + 显示字频道list + 禁用提示
BT.row(BT('哈哈', '/哈哈', { autoEnter: false, showList: true, toolTip: '不支持' }))
)
)
// 使用申请好的模板(特定平台下使用)
Send(BT.template('template_id'))
// 向申请的模板注入参数
Send(
BT.template('template_id', {
title: ''
})
)
})
export default response
MarkDown
warning
实验性功能
import { MD, createSelects, useSend } from 'alemonjs'
const selects = createSelects(['message.create'])
const response = onResponse(selects, event => {
const Send = useSend(event)
Send(
MD(
MD.text('普通文本'),
// 标题
MD.title('标题!!'),
// 副标题
MD.subtitle('子标题'),
// 加粗
MD.bold('加粗'),
// 斜体
MD.italic('斜体'),
// 星号斜体
MD.italicStar('星号斜体'),
// 删除线
MD.strikethrough('删除线'),
// 链接
MD.link('链接', 'https://www.baidu.com'),
// 图片
MD.image('https://www.baidu.com/img/bd_logo1.png', { width: 100, height: 100 }),
// 有序列表
MD.list(
MD.listItem(1, '有序列表'),
MD.listItem(2, '有序列表'),
MD.listItem(3, '有序列表'),
MD.listItem(4, '有序列表')
),
// 无序列表
MD.list(
MD.listItem('无序列表'),
MD.listItem('无序列表'),
MD.listItem('无序列表'),
MD.listItem('无序列表'),
MD.listItem('无序列表')
),
// 块引用
MD.blockquote('块引用'),
// 水平分割线
MD.divider(),
// 换行
MD.newline(),
// 换多行
MD.newline(true)
)
)
// 向申请的模板注入参数
Send(
MD.template('template_id', {
title: '你好',
image: 'https://www.baidu.com/img/bd_logo1.png',
para1: 'hello word'
})
)
})
export default response