专用于开发聊天机器人的 Node.js 框架,它提供了完整的事件驱动架构来处理各种聊天平台的消息和交互。
官网文档 https://alemonjs.com
- 事件驱动架构
基于事件选择器和响应处理器的模式
支持多种事件类型(如消息创建、消息撤回等)
事件处理包含完整的生命周期:创建、挂载、卸载
- CBP 通信协议
支持客户端-服务器架构,可以作为服务器运行也可以连接到远程服务器
- 模块化插件系统
支持动态加载应用模块(apps)和响应模块(response)
提供中间件机制用于消息预处理
- 支持自定义平台
可根据接口说明对接任意平台
- 事件处理器
实现消息去重机制(防止重复处理同一消息)
用户操作频率限制(防止恶意刷屏)
- Hook 系统
类似 React Hooks 的设计模式
提供 useMessage、useMention 等常用 Hook
简化了消息处理的复杂性
- 消息格式化系统
支持文本、图片、按钮、Markdown、ARK 卡片等多种消息类型
- 配置管理系统
支持命令行参数、配置文件、环境变量多层配置
配置动态加载和热更新
高度模块化:每个功能都是独立的模块,便于维护和扩展
TypeScript 全支持:完整的类型定义,提供良好的开发体验
事件驱动:响应式编程模型,代码逻辑清晰
可扩展性强:支持自定义中间件、Hook 和平台适配器
性能优化:包含消息去重、频率限制、内存清理等优化机制
启动阶段:加载配置 → 启动 CBP 服务器 → 连接平台适配器
消息接收:平台消息 → CBP 协议转换 → 事件分发
消息处理:事件选择 → 中间件处理 → 响应函数执行
消息发送:格式化消息 → CBP 协议传输 → 平台发送
| Project | Status | Description |
|---|---|---|
| 👉@alemonjs/qq-bot | QQbot | |
| 👉@alemonjs/discord | discord | |
| 👉@alemonjs/onebot | onebot |
| Project | Description |
|---|---|
| 👉lvyjs | 开发环境(nodejs 捆绑打包器) |
| 👉alemondesk | 桌面端版本(react-golang) |
| 👉alemongo | 服务端版本(react-golang) |
QQ Group 1012967625