A Controller of go-cqhttp
注意:KenkoGoServer不同于以前的KenkoGo,
该项目是一个RestfulAPI的程序,请通过HTTP请求来控制,当该项目进入稳定状态后,KenkoGo
将被删除。
该仓库 仅实现守护服务, 功能实现请使用 KenkoGoClient, 或使用 kenkogo-webui 查看数据。
这是一个 go-cqhttp
守护程序
用来管理一个 go-cqhttp 进程,监听并转发事件。
- go-cqhttp 消息转发
- 自动下载最新 go-cqhttp 二进制文件
- 为客户端提供 go-cqhttp 状态变化事件
- API 接口鉴权
- 掉线重启(已添加,未测试)
- 风控提示(已添加,未测试)
- 与 NoneBot2 的驱动对接
请确保你的机器有 Python 3.9.13 的环境,其他版本未经测试。
- 部署运行环境
git clone https://github.com/KenkoGoProject/KenkoGoServer
cd ./KenkoGoServer
python -m venv venv
./venv/Scripts/activate
python -m pip install -r ./requirements.txt
cd ./src
- 修改配置文件
你也可以跳过这一步, KenkoGo 将会自动生成一个配置文件。
cp config.yaml.bak config.yaml
配置项说明
host: 监听地址,默认为 0.0.0.0,即监听所有地址。
post: 监听端口,默认为 18082。
github_proxy: GitHub 代理地址,暂时仅用于下载 go-cqhttp,目前仅支持
ghproxy.com
,留空表示不使用代理。
- 启动脚本
python ./main.py --debug
命令行参数说明
-h --help: 显示帮助信息
-a --auto-start: 自动启动 go-cqhttp
-d --debug: 开启调试模式,将输出更多信息
-c --config: 指定配置文件路径
- 客户端连接
当控制台提示KenkoGo Started at xxx
时,可输入/help
查看可用的指令。
或者使用 KenkoGoClient 连接 KenkoGo。
还有一种可用但不推荐的方法是使用/start
指令来启动 go-cqhttp 实例。
请确保你的机器有 Python 3.9.13 的环境,其他版本未经测试。
- 部署运行环境
git clone https://github.com/AkagiYui/KenkoGoServer
cd ./KenkoGoServer
python3 -m venv venv
source ./venv/bin/activate
apt install libzbar0
python -m pip install -r ./requirements.txt
cd ./src
- 修改配置文件
你也可以跳过这一步, KenkoGoServer 将会自动生成一个配置文件。
cp config.yaml.bak config.yaml
- 启动脚本
python ./main.py --debug
- 客户端连接
当控制台提示KenkoGoServer Started at xxx
时,可输入/help
查看可用的指令。
或者使用 KenkoGoClient 连接 KenkoGo。
还有一种可用但不推荐的方法是使用/start
指令来启动 go-cqhttp 实例。
更新日志 Changelog
该项目尚未成熟,master
分支仍处于开发阶段,请勿在生产环境使用。
该项目是我的第一个 Python 项目,代码中可能存在大量错误或不规范的地方,有任何问题请在 issues 上提出,以帮助我进步,谢谢。
建议仅使用该项目完成进程管理,其他功能实现可使用 NoneBot2
该项目未计划支持 Windows 10 以下版本的系统,并且非 amd64 架构的系统暂未经过测试。
- 操作系统:Windows 10 19044.1586
- 系统架构:amd64
- Python: 3.9.13 下载地址
- 依赖表生成工具: pip-tools 6.8.0
- 导入排序工具: isort 5.10.1
- 代码格式化工具: flake8 4.0.1 mypy 0.971
构建工具: Nuitka 下载地址数据库: SQLite自动构建: GitHub Actions
- rich 12.5.1 控制台美化工具
- ruamel.yaml 0.17.21 Yaml解析工具
- uvicorn 0.18.2 ASGI web 服务器
- fastapi 0.79.0 HTTP/Websocket服务器
- requests 2.28.1 HTTP客户端
- websockets 10.3 Websocket 协议框架
- python-multipart 0.0.5 提供 multipart/form-data 的上传功能
- psutil 5.9.1 系统信息获取工具
- distro 1.7.0 系统平台信息获取工具
- Pillow 9.2.0 图像处理工具
- qrcode 7.3.1 二维码生成工具
- pyzbar 0.1.9 二维码识别工具
- 自动修改标题含 QQ 昵称
- 编写 Nuitka 脚本
- 记录客户端登入时间戳
- 获取上传的文件列表
- 定时删除过期的文件
- 实例运行时允许先下载其他版本,其他时间再替换
- 配置文件缺少项目时写出默认值
python -m pip install -r ./requirements-dev.txt
python ./code_lint.py
python -m pip install -r ./requirements-build.txt
python ./build_binary.py
docker build -t kenkogo-server .