2019-01-30 22:21:27 +08:00
2019-01-30 22:21:27 +08:00
2018-12-15 00:23:23 +08:00
2018-10-29 11:47:58 +08:00
2018-11-28 13:26:18 +08:00
2018-11-28 13:26:18 +08:00
2018-04-23 15:04:10 +08:00
2018-12-29 15:05:51 +08:00
2018-12-29 14:44:18 +08:00
2018-12-29 12:16:13 +08:00
2018-11-28 18:18:08 +08:00
2018-11-28 13:26:18 +08:00
2018-11-28 13:26:18 +08:00

CQBot-swoole

作者QQ license

A fast and multi-task framework for Coolq-HTTP-API

一个异步、多进程的CQ-HTTP-API插件框架 made by php-swoole

什么是Swoole

Swoole是一个C编写的、高性能的PHP扩展。支持多线程、多进程、同步、异步、协程、SQL等。

众所周知PHP原生对多线程、多进程、异步等特性支持不是很好但有了Swoole你可以非常简单自由地写出优雅的高性能服务器。

框架使用Swoole Websocket Server为基础借助PHP语言便捷的优势易于上手。

本项目原生支持多机器人连接故选择了反向Websocket连接方式。同时更适用于高并发、多机器人同时连接以及对接微信公众号web前端等场景。

Swoole官网

CQBot-swoole 文档

本项目的文档正在努力编写中:https://cqbot.crazywhale.org/

框架简介

本机器人框架是基于PHP Swoole框架而写的一个CQ-HTTP-API SDK具有高性能、高并发和多机器人连接的特性。框架本身常驻内存的特性解决了读写文件、读写数据库等造成的性能问题。

框架自身作为一个高性能的Swoole WebSocket兼容HTTP服务器可以同时完成更多websocket和HTTP环境的业务逻辑。此外还保留了微信公众号接口未来可以与微信公众号开发者平台对接。

环境部署

由于框架是独立于酷Q和HTTPAPI插件运行的故你可以在多台主机上部署酷Q的docker。

如果你是新用户或重新安装含有HTTPAPI插件的酷Q-Docker的话可以在你需要部署酷Q的Linux主机下使用下面的脚本快速构建酷Q环境此脚本会引导进行相关的cqhttp插件设置。每台部署酷Q的主机均可直接使用下方的命令服务器需要提前安装Docker

#第一次部署酷Q-httpapi docker运行下面的代码
sh -c "$(wget https://raw.githubusercontent.com/crazywhalecc/CQBot-swoole/master/start-coolq.sh -O -)"

#以后每次启动/停止/重启酷Q容器执行的命令
docker start coolq
docker stop coolq
docker restart coolq

#以上指令非root用户可能需要sudo

框架部署

手动安装到Linux主机上

# 安装PHPubuntu/debian
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php7.2 php7.2-dev php7.2 php7.2-mbstring php7.2-json php7.2 php-pear

#安装PHPCentOS
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum makecache fast
yum install php72w-devel.x86_64 php72w-mbstring.x86_64 php72w-pear.noarch gcc gcc-c++ -y


# 安装Swoole
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

# 以上指令可能需要sudo执行

使用Docker快速构建

docker pull jesse2061/cqbot-swoole
mkdir cqbot && cd cqbot
curl -O https://raw.githubusercontent.com/crazywhalecc/CQBot-swoole/master/start-docker.sh
chmod +x start-docker.sh

启动

直接安装后启动框架

cd CQBot-swoole/
php start.php

在screen中运行框架

cd CQBot-swoole/
chmod +x start-screen.sh
./start-screen.sh

使用Docker构建下启动框架

sudo docker run -it --rm --net=host --name cqbot -v $(pwd)/cqbot/:/root/ jesse2061/cqbot-swoole

# 进入docker后输入
php start.php

使用Docker在screen中运行框架

curl -O https://raw.githubusercontent.com/crazywhalecc/CQBot-swoole/master/start-docker-screen.sh
chmod +x start-docker-screen.sh
./start-docker-screen.sh

关于

框架和SDK部分代码直接从炸毛机器人中移植而来炸毛机器人2230833894是作者写的一个高性能的机器人曾获全国计算机设计大赛一等奖。

欢迎随时在HTTP-API插件群提问当然更好的话可以加作者QQ627577391或提交issue进行疑难解答。

Description
协程、高性能、灵活的聊天机器人 & Web 开发框架(炸毛框架)
Readme Apache-2.0 62 MiB
Languages
PHP 94.9%
Shell 4.7%
Batchfile 0.2%
Dockerfile 0.1%