Skip to content

KenkoGoProject/KenkoGoServer

Repository files navigation

KenkoGoServer

Python Version License GitHub commit activity lines

A Controller of go-cqhttp

注意:KenkoGoServer不同于以前的KenkoGo, 该项目是一个RestfulAPI的程序,请通过HTTP请求来控制,当该项目进入稳定状态后,KenkoGo将被删除。

该仓库 仅实现守护服务, 功能实现请使用 KenkoGoClient, 或使用 kenkogo-webui 查看数据。

功能介绍 Introduction

这是一个 go-cqhttp 守护程序

用来管理一个 go-cqhttp 进程,监听并转发事件。

  • go-cqhttp 消息转发
  • 自动下载最新 go-cqhttp 二进制文件
  • 为客户端提供 go-cqhttp 状态变化事件
  • API 接口鉴权
  • 掉线重启(已添加,未测试)
  • 风控提示(已添加,未测试)
  • 与 NoneBot2 的驱动对接

快速开始 Quick Start

Windows 10 PowerShell

请确保你的机器有 Python 3.9.13 的环境,其他版本未经测试。

  1. 部署运行环境
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
  1. 修改配置文件

你也可以跳过这一步, KenkoGo 将会自动生成一个配置文件。

cp config.yaml.bak config.yaml

配置项说明

host: 监听地址,默认为 0.0.0.0,即监听所有地址。

post: 监听端口,默认为 18082。

github_proxy: GitHub 代理地址,暂时仅用于下载 go-cqhttp,目前仅支持 ghproxy.com,留空表示不使用代理。

  1. 启动脚本
python ./main.py --debug

命令行参数说明

-h --help: 显示帮助信息

-a --auto-start: 自动启动 go-cqhttp

-d --debug: 开启调试模式,将输出更多信息

-c --config: 指定配置文件路径

  1. 客户端连接

当控制台提示KenkoGo Started at xxx时,可输入/help查看可用的指令。

或者使用 KenkoGoClient 连接 KenkoGo。

还有一种可用但不推荐的方法是使用/start指令来启动 go-cqhttp 实例。

Linux Debian 11

请确保你的机器有 Python 3.9.13 的环境,其他版本未经测试。

  1. 部署运行环境
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
  1. 修改配置文件

你也可以跳过这一步, KenkoGoServer 将会自动生成一个配置文件。

cp config.yaml.bak config.yaml
  1. 启动脚本
python ./main.py --debug
  1. 客户端连接

当控制台提示KenkoGoServer Started at xxx时,可输入/help查看可用的指令。

或者使用 KenkoGoClient 连接 KenkoGo。

还有一种可用但不推荐的方法是使用/start指令来启动 go-cqhttp 实例。

更新日志 Changelog

注意事项 Tips

该项目尚未成熟,master分支仍处于开发阶段,请勿在生产环境使用。

该项目是我的第一个 Python 项目,代码中可能存在大量错误或不规范的地方,有任何问题请在 issues 上提出,以帮助我进步,谢谢。

建议仅使用该项目完成进程管理,其他功能实现可使用 NoneBot2

该项目未计划支持 Windows 10 以下版本的系统,并且非 amd64 架构的系统暂未经过测试。

开发相关 Development

使用技术 Technology Stack

运行时Python包 Runtime Python Package

待办事项 Todo

  • 自动修改标题含 QQ 昵称
  • 编写 Nuitka 脚本
  • 记录客户端登入时间戳
  • 获取上传的文件列表
  • 定时删除过期的文件
  • 实例运行时允许先下载其他版本,其他时间再替换
  • 配置文件缺少项目时写出默认值

从代码开始 Start from Code

代码检查 Code Lint

python -m pip install -r ./requirements-dev.txt
python ./code_lint.py

构建 Build

python -m pip install -r ./requirements-build.txt
python ./build_binary.py

构建 Docker Image

docker build -t kenkogo-server .

Releases

No releases published

Packages

No packages published