V2.1.0
· 阅读需 3 分钟
注意
除却订阅hook外,其他内容都将向下兼容。
一 、新增用于内部的cbp协议,扩展性更强。如支持作为服务,让子服务进行连接。同时也支持了在现有服务上定义接口
二、 新增局部的响应中间件。
三、增强加载平台包的稳定性,主要是实现代码崩溃可自动重启。
四、优化hook的设计,包括消息发送和事件订阅等。
五、支持更多的个性化配置。
六、新增更直观且执行效率更高的路由系统。
七、支持发送md、buttons等数据格式。
八、整理了一批常用的工具函数。
九、新增更适用于新架构的hook,以调用平台原生接口。
十、修复若干BUG。
新功能示例
useSubscribe
!!! useSubscribe 和 2.0 不兼容
import { Text, useMessage } from 'alemonjs'
const selects = onSelects(['message.create'])
export default onResponse(selects, event => {
const [subscribe] = useSubscribe(event, selects)
subscribe.monut(Res.current, ['UserId']) // res 响应之前
// more ...
subscribe.create(Res.current, []) // res 创建之后
subscribe.unmonut(Res.current, []) // res 响应之后
})
useMessage
import { Text, useMessage } from 'alemonjs'
const selects = onSelects(['message.create'])
export default onResponse(selects, event => {
const [message] = useMessage(event)
message.send(format(Text('Hello Word!')))
})
useClient
import {
platform as qqbot,
useClient
} from '@alemonjs/qq-bot'
const selects = onSelects(['message.create'])
export default onResponse(selects, event => {
if (event.platform === qqbot) {
const [client, value] = useClient(event)
// 使用原生api和数据
}
})
defineResponse
支持定义路由规则来更细致化的控制和管理响应。有效提高匹配效率。
src/router.ts
import { lazy } from 'alemonjs'
export default defineResponse([
{
// 用户验证中间件。这是局部的,仅对 children 下的响应规则生效
handler: lazy(() => import('@src/response/mw')),
children: [
{
// 匹配正则
regular: /^(!|