挺久没有更新(咕)了,先和关注本站的(不存在的)网友们问个好,好久不见,让你们久等了。

关于换机的原因

在大概上个月的时候,我刚从学校取回手机,刚回家的时候手机就被家里人征用了。迫不得已,只能再买台手机供日用。之前买过LG G7&V30的我,第一个想到的品牌还是LG。于是在和js周旋以及省吃俭用下,我总算用白菜价买到了台V50。

448的855你敢信 请输入图片描述

TX,永远的毒瘤

然而,在刚到没多久时,我却感觉到手机电池非常不耐用,4000毫安的电池连一天一充都做不到。正当我以为翻车了,打算找js对喷时,我点开了电源管理页面,看到了下面这个场面:

噔 噔 咚 请输入图片描述

怪不得我待机都掉这么多电,原来都是QQ吃的,也算意料之中了。众所周知,QQ客户端会在后台缓存全部群的消息(无论是否提醒),所以理论上加的群越多就会越耗电,而安卓版QQ又没有接入第三方推送,所以只能这么待在后台。对于我这种重度QQ使用用户来说,QQ就是妥妥的大流氓,想赶赶不走,不赶又特别耗电,让我非常纠结。

关于本软件

那么有没有一种办法能够让QQ走第三方推送呢?其实方法早就有了,就是靠消息转发。然而消息转发是需要备用机的,对于我这种备用机当主力机用的穷b,这种办法肯定是指望不上了。但是目前全网都没用使用虚拟机来做转发的教程,那怎么办呢?自己动手,丰衣足食。联想起我以前写QQ机器人的经验,我马上用了几个脚本,做出了这么一个无备用机转发消息的工具。

本软件使用go-cqhttp、小米推送、python脚本编写,理论windows、linux通用,但目前我只写出了linux版本。本软件完全开源,没有任何后台、木马、病毒,请放心使用。

搭建教程

注意: 本教程不是为完全没接触过Linux和Python的小白准备的。如果你是没有空研究本程序的小白,你有以下选择:

0.不使用本软件 1.支付10块钱付费搭建 2.加QQ1015256551免费代挂推送

搭建前的准备: 1.能正常注册小米推送的手机 2.一台安装了python3.8.3以及aiocqhttp和httpx库的linux虚拟机/云服务器

手机端配置

进入酷安,下载安装消息接收(软件就叫这名),然后进入。如果你的手机小米推送能够正常使用,应该会显示这个提醒: 请输入图片描述 如果没有显示,请先检查小米推送是否正常。非小米手机可以使用第三方框架

然后点击设置别名,尽量设置复杂一点,推荐使用密码生成器,15个字符就够了。设置完后记得保存设置的别名,接下来还要用。

服务器端配置

点击这里下载最新版本的压缩包到linux服务器内,然后解压,这时你大概能看到两个文件夹: 请输入图片描述 进入mirai文件夹,输入./go-cqhttp运行程序,这时如果一切无误的话会显示以下选项: 请输入图片描述 输入3然后回车选择反向Websocket通信,之后软件会自动关闭,这时根目录应该会生成config.yml,点击打开,然后配置这两个地方: 请输入图片描述 请输入图片描述 配置完成,继续运行程序,根据提示登录QQ。当画面显示消息时,就说明已经配置完成了。把go-cqhttp丢后台继续运行,接下来需要配置转发脚本。

进入script目录,里面有一个forward.py,进入编辑后,你只需要注意这两个地方: 请输入图片描述 第一个alias只需要填写上面设置的别名,别填错了,填完记得用英文的双括号"“扩起来,是不是很简单呢?

至于group_whitelist,这个就比较复杂了。这是干什么用的呢?其实这里是接收群消息的白名单。由于QQ机器人框架不支持获取屏蔽群消息的列表,也不支持直接获取群名称,因此我只能写出个曲线救国的方法,让用户自己配置。我们能看到,这里有两个值需要我们填,第一个值是添加进白名单的QQ群号,只有在这个列表里面的群才会推送群消息。第二个就是群名称,将会在推送时一起展示在消息栏中,方便用户判断这是哪个群的消息。在这个示例中,我将群号为1077550597(我的用户群)、群名称为gkd的群加入了白名单,这样我就能接收到这个群的消息了。如果是QQ号为123456,群名称为abcd的群,就要这样配置:

什么?你不止一个群要推送?那么你可以这么配置: 请输入图片描述 全部设置完后运行forward.py,当出现这一行日志时,就说明配置成功了: 请输入图片描述 如果一切无误,你很快就能收到推送。这时你就能愉快地把QQ后台全部干掉,享受流畅省电的安卓了。

FAQ

Q:为什么我QQ在前台时还是能收到推送里面的消息? A:由于并没有检测什么设备正在使用QQ的api,因此你在使用QQ的时候推送不会暂停。目前无解。

Q:能够直接在小窗里面回复吗? A:技术上可行,但实现有点困难,以后有空可能会出。

Q:什么时候支持windows使用: A:以后可能会推出微信QQ一起用的第三方推送方案,那个时候会考虑。

Q:在哪里反馈问题或提出建议? A:你认真看教程了吗?