All Projects → zhamao-robot → zhamao-framework

zhamao-robot / zhamao-framework

Licence: Apache-2.0 license
协程、高性能、灵活的聊天机器人 & Web 开发框架(炸毛框架)

Programming Languages

PHP
23972 projects - #3 most used programming language
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to zhamao-framework

Go-Mirai-Client
基于MiraiGo的客户端,使用反向 websocket 收发私聊、群聊消息,消息格式类似onebot。支持多账号,很稳定
Stars: ✭ 90 (-9.09%)
Mutual labels:  robot, qqbot, coolq, cqhttp
OneBot-YaYa
✨ OneBot(原CQHTTP) 多平台的实现
Stars: ✭ 108 (+9.09%)
Mutual labels:  qqbot, coolq, onebot, cqhttp
ProtobufBot
QQ机器人框架 ProtobufBot 整体介绍。看README
Stars: ✭ 45 (-54.55%)
Mutual labels:  qqbot, coolq, onebot, cqhttp
GreenOnions
一个Mirai的QQ机器人, 实现了搜图, RSS订阅转发, 根据PixivID下载原图, 翻译, setu等功能
Stars: ✭ 109 (+10.1%)
Mutual labels:  qqbot, onebot, cqhttp
splatoon2-qqbot
主要用于 Splatoon2 群的机器人
Stars: ✭ 40 (-59.6%)
Mutual labels:  qqbot, coolq, cqhttp
Shiro
基于OneBot协议的QQ机器人快速开发框架
Stars: ✭ 78 (-21.21%)
Mutual labels:  qqbot, onebot, cqhttp
nonebot-plugin
一些 NoneBot 即开即用、良好兼容的插件——自定义表情包、早晚安、Vtuber今日运势等
Stars: ✭ 101 (+2.02%)
Mutual labels:  qqbot, coolq, cqhttp
MiraiCQ
用C/C++,易语言写QQ机器人,兼容酷Q插件,支持Linux(通过Wine)
Stars: ✭ 55 (-44.44%)
Mutual labels:  qqbot, coolq, onebot
Coolq Http Api
为 酷Q 提供通过 HTTP 或 WebSocket 接收事件和调用 API 的能力
Stars: ✭ 1,787 (+1705.05%)
Mutual labels:  qqbot, coolq, cqhttp
Swoft
🚀 PHP Microservice Full Coroutine Framework
Stars: ✭ 5,420 (+5374.75%)
Mutual labels:  http-server, swoole, coroutine
coolq-php-sdk
coolq-php-sdk
Stars: ✭ 23 (-76.77%)
Mutual labels:  qqbot, cqhttp, cqhttp-php-sdk
onebot
OneBot:统一的聊天机器人应用接口标准
Stars: ✭ 1,113 (+1024.24%)
Mutual labels:  qqbot, onebot, cqhttp
Teamhelper
A robot software that helps a team leader automatically send notifications to QQ group and Emails for weekly meeting.
Stars: ✭ 201 (+103.03%)
Mutual labels:  robot, qqbot
FuyaoBot
A QQ bot bases on Mirai, Spring Boot, MySQL and Mybatis Plus.
Stars: ✭ 30 (-69.7%)
Mutual labels:  robot, qqbot
Mirai Plugins
🌠一个用于收录Mirai插件的仓库|mirai|plugins|mirai plugins|mirai-plugins
Stars: ✭ 55 (-44.44%)
Mutual labels:  robot, qqbot
mai-bot
Based on nonebot, a common bot framework for maimai.
Stars: ✭ 157 (+58.59%)
Mutual labels:  qqbot, coolq
OPQ-SetuBot
基于botoy和OPQBot的色图机器人
Stars: ✭ 194 (+95.96%)
Mutual labels:  robot, qqbot
Gomirai
适配于Mirai HTTP API的Golang SDK
Stars: ✭ 39 (-60.61%)
Mutual labels:  robot, qqbot
OlivOS
OlivOS / Witness Union
Stars: ✭ 48 (-51.52%)
Mutual labels:  onebot, cqhttp
kaiheila-onebot
OneBot(原CQHTTP)的开黑啦(kaiheila)平台实现。
Stars: ✭ 20 (-79.8%)
Mutual labels:  onebot, cqhttp
炸毛框架

炸毛框架

炸毛框架 (zhamao-framework) 是一个协程高性能的聊天机器人 + Web 服务器开发框架

OneBot Integration Test 下载数 最新版本 开源协议 作者QQ

注解数量 TODO

开发者 QQ 群:670821194 点击加入群聊

如果有愿意一起开发框架本身的开发者,请提出 PR 或 Issue 参与开发!如果对框架本身的核心设计有更好的想法,可与作者成立开发组(目前仅 2 人),参与 OneBot V12 生态和框架本身的开发。

相关正在进行的版本任务见 Projects 一栏!

简介

炸毛框架使用 PHP 编写,采用 Swoole 扩展为基础,主要面向 API 服务,聊天机器人(OneBot 兼容的 QQ 机器人对接),包含 Websocket、HTTP 等监听和请求库,用户代码采用模块化处理,使用注解可以方便地编写各类功能。

框架主要用途为 HTTP 服务器,机器人搭建框架。尤其对于 QQ 机器人消息处理较为方便和全面,提供了众多会话机制和内部调用机制,可以以各种方式设计你自己的模块。

/**
 * @CQCommand("你好")
 */
public function hello() {
  ctx()->reply("你好,我是炸毛!"); // 简单的命令式回复
}
/**
 * @RequestMapping("/index")
 */
public function index() {
  return "<h1>hello!</h1>"; // 快速的 HTTP 服务开发
}

从 2.7.0 版本开始,框架已支持同时使用 Annotation 和原生 Attribute 注解,供开发者根据需要自由选用。

开始

框架目前支持 Linux、WSL、macOS 环境直接运行,上述环境可直接使用下方一键安装脚本。

如果你想在其他环境安装部署,可使用 Docker、Cygwin,详见文档。

# 检测PHP环境、安装框架
bash <(curl -fsSL https://zhamao.xin/go.sh)

# 启动框架
cd zhamao-app
./zhamao server

一键安装脚本还有可以自定义参数的方式,比如:

# 脚本默认会检测系统的PHP,如果想直接跳过检测,安装独立的PHP版本,则添加此环境变量
export ZM_NO_LOCAL_PHP="yes"
# 脚本如果安装独立版本PHP,默认版本为8.0,如果想使用其他版本,则添加此环境变量指定版本
export ZM_DOWN_PHP_VERSION="8.1"
# 脚本默认会将框架在当前目录下的 `zhamao-app` 目录进行安装,如果想使用其他目录,则添加此环境变量
export ZM_CUSTOM_DIR="my-custom-app"
# 脚本默认会对本项目使用阿里云国内加速镜像,如果想使用packagist源,则添加此环境变量
export ZM_COMPOSER_PACKAGIST="yes"
# 执行完前面的环境变量再执行一键安装脚本,就可以实现自定义参数!
bash <(curl -fsSL https://zhamao.xin/go.sh)

关于其他安装方式,请参阅文档

文档

查看文档(国内自建):https://framework.zhamao.xin/

备用链接(国外托管):https://framework.zhamao.me/

特点

  • 原生支持多个机器人客户端同时连接
  • 使用 Swoole 多工作进程机制和协程加持,尽可能简单的情况下提升了性能
  • 灵活的注解事件绑定机制,可同时使用 Annotation 和原生 Attribute 注解
  • 易用的上下文,模块内随处可用
  • 采用模块化编写,可自由搭配其他 Composer 组件,也可单文件面向过程编写
  • 支持模块打包、热加载,分享模块更方便
  • 常驻内存,全局缓存变量随处使用,提供多种缓存方案
  • 自带 MySQL、Redis 等数据库连接池等数据库连接方案
  • 本身为 HTTP 服务器、WebSocket 服务器,可以构建属于自己的 HTTP API 接口
  • 静态文件服务器,可将前端合并到一起
  • 自带 PHP + Swoole 环境,无需手动编译安装,by crazywhalecc/static-php-cli

下载源码

框架源码可直接克隆本仓库进行编辑,如果你在国内,访问 GitHub 和克隆仓库比较慢,可以将 github.com 替换为 fgit.zhamao.me 进行加速。

例如:git clone https://fgit.zhamao.me/zhamao-robot/zhamao-framework.git --depth 1

贡献和捐赠

如果你在使用过程中发现任何问题,可以提交 Issue 或自行 Fork 后修改并提交 Pull Request。

目前项目仅一人维护,耗费精力较大,所以非常欢迎对框架的贡献。

本项目为作者闲暇时间开发,如果觉得好用,不妨进行捐助~你的捐助会让我更加有动力完善插件,感谢你的支持!

我们会将捐赠的资金用于本项目驱动的炸毛机器人和框架文档的服务器开销上。捐赠列表

如果您不想直接参与框架的开发,也可以分享你编写的模块,帮助完善框架生态。

支付宝

支付宝二维码

关于

框架和 SDK 是 炸毛机器人 项目的核心框架开源部分。炸毛机器人是作者写的一个高性能机器人,曾获全国计算机设计大赛一等奖。

作者的炸毛机器人已从2018年初起稳定运行了四年半,并且持续迭代。

欢迎随时在 HTTP-API 插件群里提问,当然更好的话可以加作者 QQ(627577391) 或提交 Issue 进行疑难解答。

本项目在更新内容时,请及时关注 GitHub 动态,更新前请将自己的模块代码做好备份。

项目框架采用 Apache-2.0 协议开源,在分发或重写修改等操作时需遵守协议。项目模块部分(Module 文件夹) 在非借鉴框架内代码时可不遵守 Apache-2.0 协议进行分发和修改(声明版权)。

注意:在你使用 mirai 等 AGPL-3.0 协议的机器人软件与框架连接时,使用本框架需要将你编写或修改的部分使用 AGPL-3.0 协议重新分发。

在贡献代码时,请保管好自己的全局配置文件中的敏感信息,请勿将带有个人信息的配置文件上传 GitHub 等网站。

感谢 JetBrains 为此开源项目提供 PhpStorm 开发工具支持:

感谢 php-libonebot 开发者 @sunxyw 中为项目开发规范化提出的一些建议。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].