分类 正经文章 下的文章 - Zax's Track

正经文章

开发的QQ机器人框架插件现状

去年的3月份,我基于酷Q SDK开发了两个机器人插件,但在同年的8月份初,由于TX公司对酷Q官方的警告及各种其他原因,酷Q于一夜之间宣布停运,框架服务器随后也永久关闭,酷Q已就此成为历史。
 
在此之后,我便开始寻找可用的框架,并找到了一个名为“小栗子”的QQ机器人框架,这一框架基于手Q协议运行,提供的完善的SDK以及有着易用的优点,同时又由于酷Q的停运,有一批并开始为该框架移植自己所开发的插件,插件丰富度也逐渐变得客观。于是我尝试将我先前基于酷Q SDK开发的插件移植到该框架进行测试,测试完毕后便将它们发布到了小栗子社区,插件发布帖链接如下:
 
哔哩哔哩AVBV号互转 for 小栗子框架:https://bbs.xiaolz.cn/forum.php?mod=viewthread&tid=96
一言 × 报时 for 小栗子框架:https://bbs.xiaolz.cn/forum.php?mod=viewthread&tid=97
 
这两个插件大概可以算是该框架较早的插件,在此之后,小栗子框架逐步发展壮大,更新频繁。
 
后来,因为一些原因(其中包括V3版本框架开始收费),我不再使用小栗子框架,并找到了一个新的框架——先驱框架。该框架基于PCQQ协议,同样简单易上手,提供了完整的文档,我手上的插件移植工程量不算高,便将报时插件再次完整移植到先驱框架中,社区插件发布帖链接如下:
 
一言 × 报时 for 先驱框架:https://discourse.xianqubot.com/t/topic/4702
 
【2022.3.20】
先驱框架跑路了,移植到了MyQQ及NaNBot平台
一言 × 报时 for MyQQ、MyQQA:https://bbs.myqqx.net/forum.php?mod=viewthread&tid=1034
一言 × 报时 for NaNBot:https://d.nanbot.net/d/23

在此期间,我还实现了 AVBV号互转 插件对 小栗子框架 及又一基于PC协议的 OnoQQ框架 的同时兼容,即该插件可同时被这两个框架加载,发布于Ono社区,但帖子常年无人问津,大概是该框架下有比这个插件功能更强大的插件吧(捂脸),Ono社区发布帖链接如下:
 
哔哩哔哩工具箱 for 小栗子&Ono框架:http://bbs.onoqq.com/thread-682-1-1.html
 
当今,互联网上依旧存在多种QQ机器人框架,我们也仍然可以在一些QQ群中看到用户自建QQ机器人的身影,但腾讯对QQ机器人的限制使我们失去了酷Q这样一个存在多年生态完备、应用齐全、功能强大的机器人框架,在酷Q之后的框架,各方面与当时的酷Q均有一些差距。但我们应该用发展的观点去看问题:世界是永恒发展的,发展的实质是事物的前进与上升,是新事物的产生于旧事物的灭亡,事物前进的道路是曲折的、迂回的。这是一切事物发展的总趋势,所以我们应该看到QQ机器人的前途是光明的,对未来充满信心。
(STM强行融入高中政治生活与哲学)
 
“你们(指TX)杀死一个框架,会有千百万个框架站起来!”
虽然现在有一些框架是收费授权的……(划掉)
 
我还收集了一些还可以在现今正常使用的QQ机器人框架放在文末,那么本期博文就在此结束罢。
 
头图 by 我自己 2021.5.22
 

相关链接
小栗子官网:https://www.xiaolz.cn/
小栗子社区:https://bbs.xiaolz.cn/
Ono官网:http://www.onoqq.com/
Ono社区:http://bbs.onoqq.com/
MyQQ官网:https://www.myqqx.net/
MyQQ社区:https://bbs.myqqx.net/
NanBot官网:https://www.nanbot.net/
NanBot社区:https://d.nanbot.net/
ERbot官网:https://erbot.cn/
ERbot社区:https://bbs.erbot.cn/
OvQQ官网:https://www.ovqq.cc/
OvQQ社区:https://bbs.ovqq.cc/
OIVA官网:https://oiva.cc/
OIVA社区:https://bbs.oiva.cc/
梦幻社区官网:https://www.drea.cc/
VLQ机器人官网:http://www.vlqai.cn/
VLQ机器人社区:http://bbs.vlqai.cn/

酷喵机器人官网:https://www.kumbot.cn/
酷喵机器人社区:https://bbs.kumbot.cn/
酷喵机器人开源地址:https://gitee.com/qq1917703871/kumiao

Mirai GitHub开源发布地址:https://github.com/mamoe/mirai
Mirai官方社区:https://mirai.mamoe.net/
NoneBot官网:https://nonebot.dev/
NoneBotGitHub地址:https://github.com/nonebot
炸毛框架:https://framework.zhamao.xin/

先驱官网:https://www.xianqubot.com/ 跑路了
先驱社区:https://discourse.xianqubot.com/
Mini机器人官网:https://qqmini.cc/ 官网无法打开
Mini机器人社区:https://forum.qqmini.cc/
CatQQ官网:https://www.catqq.cc/ 官网无法打开
CatQQ社区:http://bbs.catqq.cc/

(该列表将持续更新)

从零开始的米酒刘海部分显示区域优化过程

由于是水滴刘海屏,小米9的状态栏和其他机型的MIUI状态栏适配方案有所不同:
请输入图片描述
由上图可见,状态栏高度与刘海高度保持一致,网速放置在刘海左侧,并与时间用分割线进行了分隔。
在横屏浏览大部分应用时,刘海两边的部分也不会作为任何内容的显示区域:
请输入图片描述
同时还可以发现,状态栏与手势导航条的位置并不以屏幕区域为标准居中:
请输入图片描述
这些针对于刘海屏的适配优化,虽说无伤大雅,但我并不喜欢因为一个小小的水滴形状刘海而做出这样的调整,所以,折腾开始!

想到达成的目标已经确定,去除systemUI对于刘海屏的单独调整,即为将适配方案修改为真·全面屏。
(本篇文章所有操作基于搭载以安卓11为底层的MIUI12.5 20.12.28 开发版的小米9完成,需要ROOT)
开发者选项中的“刘海屏”选项可以对各种异形屏幕进行模拟,systemUI的适配方案会做出相应的修改。
请输入图片描述
开始从这里入手,首先需要知道这些配置存储在/system/product/overlay/中:
请输入图片描述
那么就创建一个新的配置,来模拟出真全面屏的效果。
下面以系统中预置的“挖孔屏”的配置为基础进行修改:
用MT管理器打开DisplayCutoutEmulationHole中的apk文件,再打开其中的resources.arsc:
请输入图片描述
我们需要修改的是这里面的dimen和string部分:
请输入图片描述
首先是dimen,里面有四个值,只需要修改下面两个,这两个值分别是横屏和竖屏状态下的状态栏高度,我希望竖屏时状态栏的空间能够宽敞些,稍微高过刘海,所以竖屏我设置为33dp,而横屏我让它保持在28dp。
请输入图片描述
接下来是string,前两个值应该是绘制异形屏幕区域的path指令,就是由这组代码绘制了systemUI上的异形屏幕区域,那么就直接将这两个数据清空吧:
请输入图片描述
至此,修改已经结束,接下来我将其做成了magisk模块并成功安装进了手机,到开发者选项中,已经可以看到新增进来的选项了,直接启用:
请输入图片描述
现在刘海部分已经可以显示内容了:
请输入图片描述
网速也可以显示在右侧(虽然会被刘海挡住,但把电量百分比显示方式改为内侧即可)
请输入图片描述
手势导航条及状态栏在横屏状态下已经居中:
请输入图片描述
可以看到,目标已经达成。

(文内容完全由本人原创,转载请标注来源)

写了两个酷Q插件

如题,这几天开发的插件如下,并且已都发布至酷Q论坛:

1.哔哩哔哩工具箱(AVBV号互转)

那段时间哔哩哔哩官方将AV号全面升级成BV号,不久大佬发现BV是AV号经过一些算法后得到的,并且mcfx大佬在知乎也发布了Python算法代码。

如何看待 2020 年 3 月 23 日哔哩哔哩将稿件的「av 号」变更为「BV 号」? - mcfx的回答 - 知乎
https://www.zhihu.com/question/381784377/answer/1099438784

已知目前BV号和av号是同时存在的,并且有互转的可能性,因此我尝试实现了这个插件的开发,在开发过程中并未采用本地计算,而是联网采集,简单说下思路。

在B站更改av号为bv号后,av号也是同时存在于服务器上的,并且当你用浏览器审查一个视频页面,会在其head部分找到该视频的信息,其中也包括有av号:
image.png

那由bv号转为av号的过程就简单了,通过直接访问链接读取源代码,并在其中取出对应位置的av号即可。
bv号转av号完成了,接下来是av号转bv号,通过审查视频页源代码,在其中似乎并为找到与bv号有关的信息,所以在bv号转av号的部分,我调用了哔哩哔哩官方的API:

https://api.bilibili.com/x/web-interface/view?aid=

但这个API不清楚是否长期可用,但av号转bv号的过程也就以此实现,插件基本功能也就完成了。

此插件还同时加入了获取视频标题与UP主的功能,一样是通过在源代码head部分取出对应位置的相应内容,最终的实现效果如下:
112907jg7cgzttr7utctgk.jpg

本插件在酷Q论坛发布帖链接:https://cqp.cc/t/48495

2.简易一言报时

说它简易,实际它并不简易,功能虽简单,但这个插件的开发周期比上面的bv2av长了许多,主要是因为我在开发过程中换用了多种方案。。这个插件初期仅仅设定成为本人自用,但后面还是把它做成了开放下载的,因此多出了用户自定义设置部分,这一部分也十分有效地减缓了我的开发速度

该插件包含的一言部分,调用了大家所熟知的Hitokoto一言API:

https://hitokoto.cn/

一言可以通过发送“一言”指令调取,也可在整点报时时包含在报时信息内。
报时部分支持整点报时及“报时”指令报时,二者均支持12小时及24小时制两种时间格式。
这里需要强调的是,报时的时间是取系统时间的,因此如果要使用本插件就请先保证你的系统时间同步准确

最终实现效果如下:
image.png
image.png
整点报时,到时间后:
image.png
(以上消息内容格式均已实现在设置中自定义)

设置界面:
image.png

本插件在酷Q论坛发布帖链接:https://cqp.cc/t/48626

另外提一下,这个插件我在开发之时,设置了Debug部分,只要在该应用目录中创建一个名为“Debug”的文件即可。