以前写QQ机器人都是用Python。从接触 NoneBot 到转去用 Ariadne,我逐渐发觉,Python在构建QQ机器人时有天生的劣势:一是同步与异步混合非常麻烦,二是难以实现重载单个插件。于是放弃了框架、用 WebSocket客户端直接连接 go-cqhttp,倒也省去了不少心智负担。

最近看到一个基于Node.js的QQ机器人框架——KiviBot。看了插件API文档,感觉真是简洁实用,不搞多账号、跨平台,而是清晰简明地把常用功能做好。

于是尝试部署。再次感叹当初选AlmaLinux 8非常明智,不必添加额外的软件源,一条命令(sudo dnf module install nodejs:18)就装好了Node.js。

然后写插件试试。写了经典的“芜湖起飞”和 vnstat。体验只有一个字——“”!写好插件后,直接向机器人发送 /plugin on wuhu-takeoff  /plugin reload vnstat,就能启用或重载相应的插件,特别方便。