【QQ机器人】给纯新手的通俗易懂使用教程,长期接受评论私信答疑[基于mirai]-登录篇
这段教程是本作者Mirai机器人部署教程(上)篇的后续更新,用于解决新的登录问题,但由于之间隔了比较久的时间,可能会有些偏差,请谅解。如果你之前就有在使用Mirai而遇到了登录问题请看此篇接下来的介绍;如果你还从来没有使用过Mirai,请看先看(上)篇

一段无关的前言:首先非常抱歉,没能很快更新出(下)篇,原因主要是准备考研,以及(下)篇的内容对于入门来说其实意义比较小,所以我就一直在拖更()。但是关于各种各样的登录的问题,一直都是评论区和私信问到最多的,是比较迫切需要解决的问题。主要因为腾讯在2023年以来,不断提高账号的风控力度,让这些处于腾讯官方禁止的qq机器人社区需要不断做出应对,这之间竞争就是“魔高一尺道高一丈”的现实写照。这就导致之前还算简单的登录方式现在变动复杂了一些,就需要单独拿出来一篇来写了。(下)篇的拖更是相对无关紧要的,但是(上)篇中,关于登录的错误介绍就成了误导。因而在此速速更新关于目前登录的解决方法。

首先,本文章编辑于2023年7月19日,在此说明,登录问题是一个一直受腾讯的风控而变化的问题,所有的教程可能具有时效性,最及时且有效的登录问题官方问题汇总贴为:
https://mirai.mamoe.net/topic/223/%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%E7%9A%84%E4%B8%B4%E6%97%B6%E5%A4%84%E7%90%86%E6%96%B9%E6%A1%88
这篇官方贴会在新的登录问题产生后,给出相对最稳定有效的解决方法,但是本教程的评论区和我收到私信反馈,官方教程的介绍比较专业,不便于理解,因此在此仅做搬运,尽早介绍最新的官方解决办法。

下面我们来介绍正文,本文章主要解决以下两个登录问题:
一、滑动验证问题,即登录需要滑动验证,完成滑动验证码, 然后输入获取到的 ticket。老问题,是原本上篇的内容,被合并到此篇一并讲解,如果已熟悉可以跳过。
二、签名服务问题,即登录显示“code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。”新问题,目前需要一个第三方签名服务程序。
解决这两个问题即可完成登录。

一、滑动验证
由于此问题出现比较早,因此会引用原本在(上)篇中的部分内容来偷懒()。
在顺利完成第一部分后,如果登录则会出现如以下提示:

最早官方有直接的解决滑动验证方法,地址为https://github.com/project-mirai/mirai-login-solver-selenium,但是此方法目前已经不能使用:

而完成滑动验证的方法有很多,但是我只在此介绍最简单的一种,要求我们有一台安卓手机,我们需要给机器人安装一个插件,和给这个手机安装一个配套app。

下载地址为https://github.com/KasukuSakura/mirai-login-solver-sakura/releases
文章提供的此安装文件的其他下载途径:
链接:https://pan.baidu.com/s/1Newxa-rpZuPxm6bEB8c2Yw?pwd=9297 提取码:9297
下载之后,我们需要将apk文件安装至手机,此部分不多赘述。另一个mirai-login-solver-sakura.jar文件需要放到机器人目录的plugins文件夹里,对于Mirai目录里各个文件夹的作用会在后面的篇幅中提到。

都准备完成后就可以开始我们的第一次登录了。
登录的指令为/login qq号 密码,例如登录qq号1145141919,使用密码abc123则指令为/login 1145141919 abc123,回车后即进行了一次登录,此时,如果你成功安装了刚刚那个jar文件,会出现如图所示提示:

我们需要点击Use TxCaptchaHelper,会收到4个数字的请求码,然后在刚刚安装手机的app里输入这四个数字,点下一步,完成简单的滑动验证即可。
或者如果你电脑和手机在同个网络里,点击Use SakuraCaptchaHelper,然后用app扫码,完成滑动验证即可。
然后我们必然会收到以下报错

请放心此处的报错是正常的,我们以后的使用过程中还会遇到很多次报错()。但请注意,我们要注意到每次报错的原因,而原因中的报错代号通常就是code=xxx中的数字,此处出现的就是code=45。如果你此处出现的是code=237,可能是刚刚的滑动验证过程太慢了超时了,可以等等再试几次。

二、签名服务
接下来,我们来解决刚刚上文中提到的code=45问题。为此我们需要另外再运行一个第三方服务,以及需要再安装另一个插件。关于第三方服务的选择不止一个,在此本文只介绍unidbg-fetch-qsign服务,
官方地址为:https://github.com/fuqiuluo/unidbg-fetch-qsign/releases

以及链接服务api用的插件fix-protocol-version,
官方地址为:https://github.com/cssxsh/fix-protocol-version/releases

可以看到,这两个文件由于需要及时解决登录的问题以及修复漏洞,更新频率相当的高,截图中的版本甚至是写稿前3小时发布的,如果使用了旧版本也可以,但是推荐大家一定要及时更换使用新版本。
但是同时象征性给出百度云,此文件绝对做不到及时更新():
链接:https://pan.baidu.com/s/1JtAxer0K4j8eAHqh7la--w?pwd=9297 提取码:9297
然后,将fix-protocol-version同刚才一样加入机器人目录下plugins文件夹

对于另外一个压缩包,按理来说,我们解压到哪里都可以,但是建议直接解压到机器人目录下

对于文件夹里面的东西,一般来说是不需要修改什么配置文件的,但是我们要注意一下,txlib文件夹里有此第三方协议包含的支持的协议版本。此处的8.6.93和8.9.68其实是qq的两个版本号。注意现在我们只有8.9.63和8.9.68两个版本,如果以后登录需要其他的版本我们就需要去更新。

然后我们退回到上级文件夹里,新建一个文本文档,命名可以随意。然后再里面输入
bin\unidbg-fetch-qsign.bat --basePath=txlib\x.x.xx

此处的xx是我们等下要启动的版本服务,图中为8.9.63,而我们具体需要哪个版本,需要先启动一次Mirai,我们会看到以下信息:

此处为fix-protocol-version插件的默认版本信息,我们需要执行一次在线同步协议指令/protocol sync ANDROID_PHONE

可能会卡上几秒几十秒是正常的,然后会发现版本被更新为了登录需要的版本协议,图中就是8.9.63,这个协议就是之前的x.x.xx,
我们可以而且推荐顺便把PAD的协议也更新了,指令为/protocol sync ANDROID_PAD
之后,输入/stop关闭Mirai,这里很重要!
回到刚才的文本文档,我们需要将其后缀改为.bat文件

改完之后直接双击启动,至于启动之后里面啥内容我们不大需要去管

然后我们回到Mirai目录下,可以看到多了两个文件,其中android_pad.json就是刚刚同步完成之后保存的信息,我们需要修改KFCFactory.json文件(文件名开始奇怪起来了)

打开之后,可以看到里面有三组,我们只需要把第一个,即"type"为fuqiuluo/unidbg-fetch-qsign","key"为"1144514"的那个的版本号引号里面改成刚刚的那个x.x.xx,然后保存

改完这个地方之后保存文件,然后再次启动Mirai,会发现版本协议已经更新。

此时,再次登录,输入/login 账号 密码,如果看到控制台里出现了一段测试对话并收到滑动验证,那就证明前面的签名服务已经启动成功,此时只需再次完成滑动验证。

若出现 Login successful,恭喜你,成功解决了所有登录问题!

可以试着给机器人账号发消息,看看能不能接收到

三、自动登录(只作推荐)
我们每次打开MCL等待其启动成功后都可以用 “/login qq号 密码” 这一指令执行一次登录,也就是说我每次打开之后可以通过输入这个指令登录一个或多个账号,但是通常情况下我们会固定某一个账号作为机器人账号使用,所以我们需要建立一个自动登录以在运行MCL同时自动登录免除输入指令登录。
推荐直接修改自动登录文件,但在此之前,首先要用/stop先关闭Mirai,然后打开机器人目录下的config文件夹里面的Console文件夹里的AutoLogin.yml,可以看到里面为,其中红框标注的是我们要修改的部分

第一部分account即为要登录的账号,第二部分value为密码。
第三部分protocol为要使用的登录协议,目前暂不考虑其他,只考虑两种:"ANDROID_PHONE" 和 "ANDROID_PAD"。其区别在于,如果你用了"ANDROID_PHONE",那么你就不能在开着机器人的同时,用手机qq登录此账号,但是如果你用的是"ANDROID_PAD",则机器人就可以用着平板qq一样,可以和手机qq同时登录。前提是之前也对PAD的版本进行了同步。
保存文件之后,退出,再次启动Mirai,即可自动登录账号。

其他的登录说明与注意事项:
滑动验证一般来说,只要验证一次,就可以此Mirai上记录,不需要经常验证。验证要尽快,太慢可能会触发code=237。
签名服务,就是那个bat文件的程序是必需要提前打开而且要保持开启,你可以给那个bat文件创建一个快捷方式放到方便的地方,但是不能复制到别的地方启动。此外作者还提供了一个 后台运行 & 自启动 的方法,如果不嫌麻烦可以尝试,方法在:https://github.com/fuqiuluo/unidbg-fetch-qsign/wiki/%E9%83%A8%E7%BD%B2%E5%9C%A8Windows
如果出现了其他code=xx的情况,还是及时浏览官方的问题汇总贴,https://mirai.mamoe.net/topic/223/%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%E7%9A%84%E4%B8%B4%E6%97%B6%E5%A4%84%E7%90%86%E6%96%B9%E6%A1%88也可以在本文章评论区交流。
登录篇教程到此结束了,感谢你为了解决登录问题坚持看到这里,这篇教程作为两篇之间的补充,可能衔接不是非常好,对此我表示非常抱歉!如果发现了文章中有错误的地方请及时告诉我,感谢大家的意见和建议!同时在此感谢为了解决登录问题而不懈努力更新的社区大佬们,相比我他们才是值得受到点赞的人!
继续对Mirai进行进一步的安装请继续阅读本系列教程的(中)篇:


