mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-03-17 20:54:52 +08:00
🚀 update README.md
This commit is contained in:
parent
5b3dc283fc
commit
5dc691df7b
58
README.md
58
README.md
@ -3,42 +3,42 @@
|
||||
|
||||
[]()
|
||||
[]()
|
||||
[]()
|
||||
|
||||
|
||||
A fast and multi-task framework for Coolq-HTTP-API
|
||||
|
||||
一个异步、高性能的[CQ-HTTP-API插件](https://cqhttp.cc/)协程PHP框架。
|
||||
|
||||
## 什么是Swoole
|
||||
Swoole是一个C编写的、高性能的PHP扩展。支持多线程、多进程、同步、异步、协程、SQL等。
|
||||
|
||||
众所周知,PHP原生对多线程、多进程、异步等特性支持不是很好,但有了Swoole,你可以非常简单自由地写出优雅的高性能服务器。
|
||||
|
||||
框架使用Swoole Websocket Server为基础,借助PHP语言便捷的优势,同时风格和go语言协程相似,易于上手。
|
||||
|
||||
本项目原生支持多机器人连接,故选择了反向Websocket连接方式。同时更适用于高并发、多机器人同时连接以及对接**微信公众号**和**web前端**等场景。
|
||||
|
||||
[Swoole官网](https://www.swoole.com/)
|
||||
|
||||
一个异步、多平台兼容的**聊天机器人**框架。
|
||||
|
||||
## CQBot-swoole 文档
|
||||
本项目的文档正在努力编写中:[https://cqbot.crazywhale.org/](https://cqbot.crazywhale.org/)
|
||||
|
||||
## 什么是Swoole
|
||||
PHP原生对多线程、多进程、异步等特性支持不是很好,有了Swoole,你可以非常简单自由地写出优雅的高性能服务器。
|
||||
|
||||
本项目原生支持多机器人连接,故选择了反向Websocket连接方式。同时更适用于高并发、多机器人同时连接以及对接**微信公众号**和**web前端**等场景。
|
||||
[Swoole官网](https://www.swoole.com/)
|
||||
|
||||
## 框架简介
|
||||
本机器人框架是基于PHP Swoole框架而写的一个CQ-HTTP-API SDK,具有高性能、高并发和多机器人连接的特性。框架本身常驻内存以及协程运行的特性解决了读写文件、读写数据库等造成的性能问题。
|
||||
|
||||
框架自身作为一个高性能的Swoole **WebSocket**兼容HTTP服务器,可以同时完成更多websocket和HTTP环境的业务逻辑。此外还保留了微信公众号接口,未来可以与微信公众号开发者平台对接。
|
||||
cqbot-swwole是一个聊天机器人框架,同时兼容酷Q(需安装[cqhttp插件](https://cqhttp.cc)),微信公众号,支持多QQ账号对接。
|
||||
|
||||
## 特点
|
||||
- 多账号单后端式框架
|
||||
- 采用模块式编写,功能之间独立性高,可分别开关各个模块和设置响应优先级
|
||||
- 全局缓存,随处使用
|
||||
- 协程开发,传统同步写法实现高并发
|
||||
- 除swoole外不依赖composer其他项目
|
||||
- 自带HTTP、websocket服务器,可对接其他服务
|
||||
- 支持协程MySQL
|
||||
|
||||
## 环境部署
|
||||
由于框架是独立于酷Q和HTTPAPI插件运行的,故你可以在多台主机上部署酷Q的docker。
|
||||
|
||||
### 酷Q和HTTP API插件
|
||||
由于框架是独立于酷Q运行的,故你可以在多台主机上部署酷Q的docker。
|
||||
|
||||
如果你是新用户或重新安装含有HTTPAPI插件的**酷Q-Docker**的话,可以在你需要部署酷Q的Linux主机下使用下面的脚本快速构建酷Q环境,此脚本会引导进行相关的cqhttp插件设置。每台部署酷Q的主机均可直接使用下方的命令(服务器需要提前安装Docker)
|
||||
|
||||
```shell
|
||||
#第一次部署酷Q-httpapi docker运行下面的代码
|
||||
sh -c "$(wget https://raw.githubusercontent.com/crazywhalecc/CQBot-swoole/master/start-coolq.sh -O -)"
|
||||
sh -c "$(wget https://raw.githubusercontent.com/crazywhalecc/cqbot-swoole/master/start-coolq.sh -O -)"
|
||||
|
||||
#以后每次启动/停止/重启酷Q容器执行的命令
|
||||
docker start coolq
|
||||
@ -47,7 +47,8 @@ docker restart coolq
|
||||
|
||||
#以上指令非root用户可能需要sudo
|
||||
```
|
||||
|
||||
### 微信公众号
|
||||
很快将兼容微信公众平台,敬请期待。
|
||||
|
||||
|
||||
## 框架部署
|
||||
@ -71,7 +72,7 @@ pecl install swoole
|
||||
echo "extension=swoole.so" >> $(php -i | grep "Loaded Configuration File" | awk '{print $5}')
|
||||
|
||||
# 部署框架
|
||||
git clone https://github.com/crazywhalecc/CQBot-swoole.git
|
||||
git clone https://github.com/crazywhalecc/cqbot-swoole.git
|
||||
|
||||
# 以上指令可能需要sudo执行
|
||||
```
|
||||
@ -80,6 +81,11 @@ git clone https://github.com/crazywhalecc/CQBot-swoole.git
|
||||
### 使用Docker快速构建并启动
|
||||
``` shell
|
||||
sudo docker run -it --rm --net=host --name cqbot -v $(pwd)/cqbot/:/root/ jesse2061/cqbot-swoole
|
||||
|
||||
# 可以将命令添加为alias方便以后快速启动
|
||||
echo "alias cqbot='sudo docker run -it --rm --net=host --name cqbot -v $(pwd)/cqbot/:/root/ jesse2061/cqbot-swoole'" >> .bash_profile
|
||||
source .bash_profile
|
||||
cqbot
|
||||
```
|
||||
|
||||
|
||||
@ -87,7 +93,7 @@ sudo docker run -it --rm --net=host --name cqbot -v $(pwd)/cqbot/:/root/ jesse20
|
||||
#### 直接安装后启动框架
|
||||
|
||||
```shell
|
||||
cd CQBot-swoole/
|
||||
cd cqbot-swoole/
|
||||
php start.php
|
||||
```
|
||||
|
||||
@ -95,7 +101,7 @@ php start.php
|
||||
|
||||
```shell
|
||||
screen -R cqbot
|
||||
cd CQBot-swoole/
|
||||
cd cqbot-swoole/
|
||||
php start.php
|
||||
# Ctrl A + D 将screen放到后台运行
|
||||
```
|
||||
@ -109,11 +115,11 @@ sudo docker run -it --rm --net=host --name cqbot -v $(pwd)/cqbot/:/root/ jesse20
|
||||
```
|
||||
|
||||
## MacOS与Windows兼容性
|
||||
#### MacOS下运行CQBot-swoole
|
||||
#### MacOS下运行cqbot-swoole
|
||||
mac下运行和Linux整体相同,使用brew安装好PHP后通过源码编译`swoole`组件安装,或使用docker。
|
||||
> Docker for mac 运行需要手动指定端口`-p 20000:20000`,不能使用`--net=host`网络模式。
|
||||
|
||||
#### Windows下运行CQBot-swoole
|
||||
#### Windows下运行cqbot-swoole
|
||||
因为swoole使用了Linux的特性,故**不推荐**在Windows电脑或服务器使用,Windows可以使用Docker运行或使用`cygwin`环境。
|
||||
> 不推荐原因有不能使用`reload`指令进行重启服务和不能使用全部的swoole特性。
|
||||
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
{
|
||||
"description": "high-performance intelligent assistant",
|
||||
"minimum-stability": "stable",
|
||||
"license": "proprietary",
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": ">=7.0.0",
|
||||
"eaglewu/swoole-ide-helper": "dev-master",
|
||||
"ext-mbstring": "^7.1",
|
||||
"ext-json": "*",
|
||||
"ext-iconv": "*",
|
||||
@ -13,5 +12,8 @@
|
||||
"ext-gd": "^7.1",
|
||||
"ext-curl": "^7.1",
|
||||
"ext-openssl": "^7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"eaglewu/swoole-ide-helper": "dev-master"
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user