跳到主要内容

ksm复活了,谈谈她的工作方式

· 阅读需 5 分钟
兔兔
兔兔

经过三天的奋斗,我终于是把ksm完全使用Nodejs框架完全重写所有功能,ksm2.0隆重出场!

在庆祝Ksm打赢复活赛的同时,还是忍不住讲一讲Ksm在新版和旧版之间使用的技术栈,到底有何区别:

Kasumi第一次诞生是在将近一年半之前,当时对于机器人技术深深好奇的我,在获得一个朋友的服务器后,我便按着网络上机器人的教程,借助框架Mirai开始了Ksm的故事。

那时候的我虽然对机器人编程还几乎一窍不通,但也兴致勃勃。Mirai的插件设计,使得用户们不需要太过于借助代码的帮助,只需要掌握基本的json语法,通过操作配置文件便可以快速根据插件搭建一个自己的机器人。

这对当时的我无疑是一个极好的工具,同时我也借助mirai的Onebot加载器,接入了一些其他的bot插件,使其成为了一个抽象的插件大杂烩Bot。

但是这样无疑有许多缺点,最为突出的便是无法完全满足Bot的需求,插件之间无法统一管理,甚至有些功能我自己也无法控制。这种情况一直持续到后面的后面,第一代ksm的落幕。

2023.2月,我接触到了基于Nodejs的Sparkbridge,一个个人开发者为我的世界基岩客户端开发的机器人框架。其架构之简单优雅易懂,一下子吸引了我的注意。

Nodejs对于初学者来说,还算是一门较为容易上手的语言。通过学习已有的代码,我很快掌握了基本的机器人代码操作,同时那个时候我为这个框架开发了大量的插件程序,算是以一己之力带动了这个框架的繁荣

同时我也将其用于ksm中,至那时起,ksm便出现了由我亲自编写的代码,虽然mirai的插件依然是框架的核心,但是我的代码也渐渐开始发挥作用了。

2023.11月,随着tx对于协议库bot的追堵拦截,Mirai再也无法登录,至此Ksm第一代算是落下帷幕,此后较长一段时间内,我都将其搁置,投入到音游Orzmic的Bot雪绘Bot的开发中,也在其中掌握了更多的nodejs操作。但是对于ksm,我依旧期待着她什么时候能够复出。

就在前些日子,出现了其他的qq机器人实现。这使的我有了勇气去重新开发一个新的ksm的底层。

曾经基于mirai的Bot不可能重新启用,但是我在其中使用的触发词等等插件,都是ksm的重要组成部分。最好的方式便是我使用Nodejs框架,从头开始写整个bot。

就这样,在连肝三四天后,一个由我完全编写的ksm终于重新出现。触发词系统虽然由mirai的配置文件,但是程序和配置文件已经被我重写和转换。所以有些功能的消失可能是因为我没有重做,也很有可能是因为一开始我就不需要这个功能,所以我没有用自己的代码重写。

至此整个bot都成为了我自己的代码,拥有了完整的控制权和插件之间能够完全互通,这是先前的ksm无法做到的。也算是我玩bot两年来,所学习到的内容的融会贯通了。

我的新架构虽然还有很多不足,但是起码我迈出了重新一步,我想以后还会越来越好,不是吗?

· 阅读需 1 分钟
兔兔
兔兔

《36KB》

不管怎么说,能用就是成功

雪绘的未来规划

· 阅读需 3 分钟
兔兔
兔兔

QQ频道的变动的闹剧算是尘埃落定,决定新频道样式和聊天区保持共存了。

同时我为了雪绘的发展,决定推出雪绘的群聊Ver.在群聊和频道同时存在的情况下,两边的用户信息如何保持一致,是一个亟待解决的好问题。

雪绘的查分数据库和抽牌等娱乐功能,都是由雪绘团队的黑糖开发的Python客户端,通过API进行交流与沟通。用户管理部分首先就要从他这一部分来入手:黑糖数据处理的部分都是基于频道号来解决。目前他学业繁忙,为了尽可能减轻他的压力,因此适配工作应该从我这头做起。

目前我提出的方案是在我的程序中,将所有的QQ号和频道号相对应。这样就能够做到黑糖那边尽可能在不改动达成兼容所有用户的效果。

如:

QQ端获取到的qq———>查询是否绑定———>已绑定,传回频道号给黑糖

QQ端获取到的qq———>查询是否绑定———>未绑定,虚拟一个频道号,如“Qxxxxxxxxx”(为了方便,xxxxx直接使用QQ号即可)

这样,就能达到每一个人都能够共享两端的信息同步。也便于多平台的整合,倘若需要重新绑定频道,直接替换Qxxxx为频道号即可

因此还需要黑糖做一把个两个id信息合并的接口。

目前技术力只能想到这样快速迁移的方案了,先将就使用吧。

唉,腾讯

· 阅读需 1 分钟
兔兔
兔兔

◆二期QQ频道改版时间和范围 2月22日-2月27日 2月22日起开始大范围灰度,2月27日全量(就是全体用户都这样)

QQ终于是要对频道动手了,存在这么久的一个类dc的平台说没就没,又是对Bot开发者和我们频道维护者的一次背刺qwq

说实话QQ的频道现在做的也算是同类app里面做的比较好的,可惜说砍就砍了。

雪绘Bot的未来看来还是要像早期一样回归群聊,目前比较看好的方案是qqnt,希望不要轻易寄了

突发奇想

· 阅读需 1 分钟
兔兔
兔兔

有时候会觉得网上的那些大佬们有一个自己的网站,发关于自己的动态,心得和分享。

其实这挺酷的,于是我决定自己也弄一个这样的东西(