咱有一个旧手机,食之无味、弃之可惜,想把它利用起来。于是了解到了termux,尝试了一段时间,发现它确实有意思,termux能让我们在安卓手机上跑linux程序
- 接下来介绍我使用的传统方法
- 1. 安装termux
- 2. 安装依赖
- 3. 安装Ubuntu
- 4. 启动Ubuntu
- 5. 准备工作
- 6. 下载gocq
- 7. 编辑配置文件
- 8. 登录gocq
- 9. 配置登录方式
于是我想到了利用它来搭建一个QQ机器人,最合适的人选当然是早苗啦,早苗的后端在服务器上,而我们只需要部署一个gocq前端即可。
请大家多多支持早苗开发者小狐狸~
就在我寻找小狐狸主页的时候,竟然意外发现了XDM大佬发布的教程:
而更新时间…就是今天!
缘,妙不可言————大佬的方法更简单,推荐使用~
于是本帖到此完结撒花(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停止运行时,早苗也将停止心跳。
参考文章:
- 用于termux的linux系统安装脚本: https://github.com/sqlsec/termux-install-linux
- 早苗文档: https://www.yuque.com/km57bt/hlhnxg/kcmy03