Now Loading...

加载过慢请开启魔法

安卓使用Termux搭建早苗机器人

咱有一个旧手机,食之无味、弃之可惜,想把它利用起来。于是了解到了termux,尝试了一段时间,发现它确实有意思,termux能让我们在安卓手机上跑linux程序

于是我想到了利用它来搭建一个QQ机器人,最合适的人选当然是早苗啦,早苗的后端在服务器上,而我们只需要部署一个gocq前端即可。

请大家多多支持早苗开发者小狐狸~


就在我寻找小狐狸主页的时候,竟然意外发现了XDM大佬发布的教程:

早苗Bot 部署教程 Termux

而更新时间…就是今天!

缘,妙不可言————大佬的方法更简单,推荐使用~

于是本帖到此完结撒花(bushi)

来都来了,还是写完吧。

接下来介绍我使用的传统方法

首先你需要准备魔法工具,开启魔法,否则可能会因为网络问题导致无法进行部分流程。

如果你使用的是Ubuntu系统,也可以跳到第5步,在Ubuntu上直接部署早苗。

1. 安装termux

官网:https://termux.dev/cn/index.html

2. 安装依赖

启动termux,输入指令:

pkg install proot git python -y

等待完成。

(可跳过)分别输入以下指令以检验依赖是否已正确安装:
proot –version
git –version
python –version
如果出现对应版本号即成功安装

3. 安装Ubuntu

依次输入下面3个指令:

git clone https://github.com/sqlsec/termux-install-linux
cd termux-install-linux
python termux-linux-install.py

看到这个页面输入: 1
回车
等待下载安装完成

4. 启动Ubuntu

依次输入:

cd ~/Termux-Linux/Ubuntu
./start-ubuntu.sh

5. 准备工作

更新软件包:

apt update

安装vim编辑器:

apt install vim -y

6. 下载gocq

下载压缩包:

wget https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.1/go-cqhttp_linux_arm64.tar.gz

解压:

tar -xzvf go-cqhttp_linux_arm64.tar.gz

启动gocq:

./go-cqhttp

首次运行会看到选择界面,输入 3 选择反向 Websocket 通信
程序将生成配置文件,再次回车程序自动退出。

7. 编辑配置文件

输入指令:

vim config.yml

进入编辑页面,按键盘 i 进入编辑模式;
翻到底部,大约在 101 行位置,找到
universal: ws://your_websocket_universal.server
修改为:
universal: ws://sanae.youngmoe.com:20026

尾部的20026只是用于例举的早苗端口号,端口号应为200x形式,它并不固定,你可以根据需求自行修改:

  • 当1<x<51时,bot=早苗
  • 当51<x<71时,bot=澪
  • 当71<x<99时,bot=浅羽

    比如20010是早苗,20055是澪,20076是浅羽

特别需要注意的是,当你修改 universal 中的内容时,编辑器会为它自动向右换行,例如:

    # 注意 设置了此项地址后下面两项将会被忽略
        universal: ws://sanae.youngmoe.com:20026
    # 反向WS API 地址

这是非法的格式,这会导致程序在后续启动中报错,你应该修改换行与上下文字对齐,例如:

    # 注意 设置了此项地址后下面两项将会被忽略
    universal: ws://sanae.youngmoe.com:20026
    # 反向WS API 地址

修改完成后按键盘ESC退出编辑模式,输入 :wq 保存并退出编辑页面。

8. 登录gocq

再次启动gocq:

./go-cqhttp

这一次启动程序会生成device.json文件,这个文件的作用是将程序伪装成某品牌的手机型号,以登录QQ。

随后程序自动退出,你应该会看到如下提示:

[WARNING]: 当前协议不支持二维码登录, 请配置账号密码登录

请参考以下步骤 9 配置登录方式。配置完成并成功登录后,以后的启动将直接自动登录,无所再次配置。

9. 配置登录方式

修改device.json文件:

vim device.json

进入编辑页面后,键盘输入 i 进入编辑模式。
考验眼力的时候到了,你需要在这坨数据中找到 "protocol":6 ,这是机器人的登录协议,不同的数字有不同的含义:

类型 限制
1 安卓手机 密码登录
2 安卓手表 二维码登录、无法接收戳一戳
3 MacOs 密码登录、无法接收戳一戳
4 企业QQ 企业账号,一般人不考虑
5 苹果平板 密码登录
6 安卓平板 密码登录

推荐新手修改为 "protocol":2 使用二维码登录。
修改完成后按键盘ESC退出编辑模式,输入 :wq 保存并退出编辑页面。

9.1 二维码登录

如果你选择了"protocol":2 使用二维码登录————

请双指缩放画面,因为之后生成的二维码字符比较大,一般屏幕容不下。

调整缩小文字后,启动gocq:

./go-cqhttp

程序会生成二维码,你只需要用另一台手机登录机器人的qq扫码即可。

9.2 密码登录

如果你选择的是其他协议,那么你需要密码登录。

输入指令:

vim config.yml

进入编辑页面,按键盘 i 进入编辑模式;
找到前几行,配置机器人的账号与密码。注意,密码要填在单引号內
修改完成后按键盘ESC退出编辑模式,输入 :wq 保存并退出编辑页面。

启动gocq:

./go-cqhttp

新设备进行密码登录需要滑块验证,根据提示,选择 1 进行自动验证 ——其实是半自动
复制验证链接到浏览器打开,完成滑块验证,验证结果会自动发送到程序。


终于结束啦!此时,你应该成功登录上了机器人,并连接上了早苗服务器,你可以尝试在群里发送 早苗on,不出意外的话,早苗应该会满怀欣喜地出来迎接主人~

注意事项:termux需要持续保活,当termux停止运行时,早苗也将停止心跳。


参考文章: