关于 el-bot
历史
el-bot 在过去(v0.9.x 及之前)是一个自成一体的机器人框架。
el-bot 的实现基于 mirai 的 mirai-api-http(我为此也编写了 SDK mirai-ts),
但事实上,在长久的实践后我因为 mirai 经常出现的内存泄漏而不堪其扰,决定将其迁移至 go-cqhttp。
而 koishi 已经在这么做了。
因此在未来我决定直接基于 koishi 做一些简化的工作,同时这也可以减少一些与之相同的重复工作。
mirai & mirai-console & mirai-api-http & mirai-ts & el-bot 之间的关系
- mirai 是一切的基础,使用 kotlin 编写,可跨平台(需要有 Java 环境),提供 QQ 协议的机器人库。
- mirai-console 是 mirai 控制台的服务端,用于启动 mirai,并加载插件。
- mirai-api-http 是 mirai-console 的一个插件,用于提供 http api,以供任意语言扩展。
以上三者相当于开发环境,你可以使用 mirai-console-loader 或 miraiOK 或 mirua 或 java -jar
等其他各式各样的方法来启动它,相关内容与本项目无关。
推荐使用官方启动器 mirai-console-loader 自行启动 mirai(v1.0 以上) 与 mirai-api-http 插件(v1.9.0 以上)。
因此,你应当有自行启动 mirai 的能力。
WARNING
在使用 el-bot 前,你应当先确定 mirai-api-http 已成功加载。一个简单的确认方法是访问 localhost:4859/about
查看是否有信息返回。
TIP
端口号可能由于你的配置而有所不同。mirai-api-http 的默认端口为 8080
。 以避免冲突(一些程序也会喜欢默认使用 8080
端口),el-bot-template 中默认将 mirai-api-http 的端口配置为 4859
,这取自于命运石之门世界线变动率小数点后不为零的四位数。
- mirai-ts 是用 TypeScript 编写,并编译成 JavaScript 来调用 mirai-api-http 的开发工具,即 SDK,包裹了所有 mirai-api-http 支持的请求,并提供了相应注释,可以在代码编辑器中(如 VS Code)中进行代码提示。
- el-bot 是我基于 mirai-ts 编写的一个跨平台(需要 Node.js 环境),可配置、可自定义插件的机器人框架。
- el-bot-template 是使用 el-bot 的一个简单示例模版。
与 koishi 的区别
开坑时,我确实不知道 koishi 这一框架,且由于白嫖心理,最初开发便没有使用 coolq 的打算。
koishi 基于 coolq 的 CQHTTP ,而 el-bot 基于 mirai 的 mirai-api-http 。
此后因为晨风作者被捕一事,CoolQ 作者也宣布停止运营。 所以 koishi 现在本质使用的是 go-cqhttp / cqhttp-mirai 等与 coolq API 兼容的解决方案。
详情见 koishi#平台支持
el-bot 则并没有打算兼容 coolq 且没有 coolq 的历史包袱,所以均直接使用 mirai-api-http 的原生 API,基于的 mirai-ts 所有 API 均与官方 URL 命名保持一致。
当前 koishi 相比 el-bot 的生态功能要完善许多,而 el-bot 则没有兼容包袱,所以无需额外安装 cqhttp-mirai 或 go-cqhttp 或 mirai-native,SDK 直接与 mirai-api-http 进行交互,新特性的支持也可能更快一些。
koishi 的自定义程度很高,有一定的学习成本,而我本身开发 el-bot 希望能作为辅助工具更多一些,也可以通过 yml 配置各功能,大部分依赖使用的是 npm 社区已有的一些轮子。(自己又可以偷懒,熟悉的人又可以直接上手,不熟悉的同学学习一下以后别的项目也可以用,岂不是一举两得。)
譬如:
目前计划是依赖于 koishi,构建一个更加上层的机器人模版。(套娃是吧)
机关
本组织的名字取自「命运石之门」中男主冈部伦太郎离别时的常用厨二病用语「El Psy Congroo」。 没什么特别意义,是冈部伦太郎的自造词。由希腊语和拉丁语组成,大意为强化思路。
未来道具研究所也是作品中登场的一个架空组织,由冈部伦太郎、椎名真由理和桥田至三人创立的以发明道具为目的的研究所。实际上主要在做一些有趣但可能没什么用的东西。
譬如:
- 比特粒子炮,电视遥控器与玩具射线枪结合制成,实际只能(威风凛凛地)转台。
- 竹蜻蜓照相机,摄像头会随着竹蜻蜓而高速旋转,导致看拍出来的视频的时候会让人看到头晕。
所以本质该组织也主要用来做一些可能有趣但没什么用(能有用当然最好)的东西。
设计
色彩
主题色取自 CSS3 自带色彩 steelblue (#4682b4
)。