虽然最终没有成功配置好qqbot,但是感觉这个过程还是值得记录的,所以写出了下文
最终因为登陆qq时的code45问题导致没有成功登录,据说更换qq号或者配置签名服务器是有可能可行的。
安装环境
安装mcl(mirai的控制台)
创建一个文件夹mcl 并进入文件夹
shell
mkdir mcl && cd mcl
寻找适合你的操作系统的的mcl安装包 (下载链接),将安装包下载到刚刚创建的文件夹中
下面shell指令以mcl-installer-1.0.7-linux-amd64为例
wget https://github.com/iTXTech/mcl-installer/releases/download/v1.0.7/mcl-installer-1.0.7-linux-amd64
赋予可运行权限,运行
shell
chmod +x
shell
./mcl-installer-1.0.7-linux-amd64
这时候就安装好mcl了,之后只需要进入文件夹后使用
shell
./mcl
就可以打开mcl了
安装mirai-api-http
打开mcl的目录,使用指令安装
shell
./mcl --update-package net.mamoe:mirai-api-http --channel stable-v2 --type plugin
运行mcl
shell
./mcl -u
安装aliceBot
使用pip安装
shell
pip install alicebot
pip install alicebot-adapter-mirai
安装验证器
验证器用在登录qq中
fix-protocol-version
https://github.com/cssxsh/fix-protocol-version
基于mirai的qsign api对接。
qsign(签名)
已经及咯!TAT
仓库
https://github.com/MrXiaoM/qsign/tree/bak
发行版下载
https://github.com/MrXiaoM/qsign/releases
mirai-login-solver-sakura
mirai-login-solver-sakura 滑块验证解决器
进入mcl的plugins,将github项目中的发行版jar放入文件夹中
shell
wget https://github.com/KasukuSakura/mirai-login-solver-sakura/releases/download/v0.0.12/mirai-login-solver-sakura-0.0.12.mirai2.jar
mirai-device-generator
mirai-device-generator 仿真设备信息生成器
在mcl目录中使用指令一键安装
shell
./mcl --update-package xyz.cssxsh.mirai:mirai-device-generator --channel maven-stable --type plugin
配置Mirai协议适配器
配置Mirai-api-http
https://docs.alicebot.dev/guide/adapters/mirai-adapter (aliceBot手册)
编辑 mirai-api-http 的配置文件 setting.yml
。
Websocket Adapter模式
在mirai中的setting.yml文件中合并如下内容(即若原先出现了某个属性,则进行修改,若原先没有某属性则添加)
(setting.yml文件在 ./config/net.mamoe.mirai-api-http/setting.yml
, 若您没有该文件,请检查是否安装并更新好mirai-api-http)
yaml
adapters:
- ws
enableVerify: true
verifyKey: 1234567890
adapterSettings:
ws:
host: localhost
port: 8080
reservedSyncId: -1
创建一个aliceBot项目
项目结构
.
├── plugins (插件目录)
│ └── xxx.py
├── config.toml (配置文件)
└── main.py
具体步骤
创建一个目录
shell
mkdir alicebot-start && cd alicebot-start
创建plugins文件夹,用来存放插件
shell
mkdir plugins
创建一个main.py
文件,并写入如下信息
- shell指令:
shell
vim main.py
- 文件内容:
python
from alicebot import Bot
bot = Bot()
if __name__ == "__main__":
bot.run()
创建config.toml并编写内容
- shell指令:
shell
vim config.toml
- 文件内容(其中verify_key填写为上文setting.yml中的verifykey内容 , qq = 填写为qqbot的qq号)
toml
[bot]
adapters = ["alicebot.adapter.mirai"]
[adapter.mirai]
adapter_type = "ws"
verify_key = "1234567890"
qq = 机器人QQ号
运行
后台运行指令
以运行python为例
shell
nohup python3 -u main.py > out.log 2>&1 &
该命令会运行当前目录下的test.py并把输出和报错都发送到文件out.log中。
使用jobs
指令查看后台运行的进程
shell
jobs
使用kill 指令杀死某个后台运行的进程(注意使用kill 1
代表杀死进程号为1的进程, kill %1
才是杀死作业号为1的作业)
shell
kill %1