linux配置qqbot(Mirai+Alicebot)

虽然最终没有成功配置好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
相关推荐
xyz59913 分钟前
如何在 WSL 中删除指定版本的 Ubuntu 以及安装
linux·运维·ubuntu
linux修理工19 分钟前
Claude code与CC-switch安装使用
运维·人工智能
小叶lr23 分钟前
jenkins打包前端样式丢失/与本地不一致问题
运维·前端·jenkins
Agent产品评测局27 分钟前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
亚空间仓鼠41 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
AI成长日志2 小时前
【AI原生开发实战】1.2 传统开发 vs AI原生开发:思维转变与架构差异
服务器·架构·ai-native
minji...2 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
2301_780789662 小时前
零信任架构在云安全落地过程中的最佳实践
服务器·人工智能·游戏·架构·零信任
虚伪的空想家2 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
the sun342 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器