1 Star 0 Fork 2

Mayuri / Bot

forked from 大卫 / Bot 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

简介

兼容OneBot标准的机器人接口,使用Yaf框架实现(C语言编写的PHP框架)。

项目依赖

名称 说明 版本
Nginx 高性能的HTTP和反向代理web服务器 1.17.3
PHP “超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。 7.4.21
MySQL 最流行的关系型数据库管理系统。 5.7.34
Redis 一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 6.2.4
Yaf Yaf 是一个 C 语言编写的 PHP 框架。 3.2.5

运行状态

框架部分
应用标识:go-cqhttp
应用版本:v1.0.0-beta5
应用完整名称:go-cqhttp-v1.0.0-beta5_linux_amd64-go1.16.2
OneBot标准版本:v11
运行时:linux / go1.16.2

接口部分
SDK版本:Author David v1.0.0
SDK时间:20210802100000
操作系统:Linux 3.10.0-1160.21.1.el7.x86_64 #1 SMP Tue Mar 16 18:28:22 UTC 2021
运行时:Nginx 1.17.3 -Tengine 2.3.2  / Redis 6.2.4 / MySQL 5.7.34 / PHP 7.4.21
PHP扩展:Yaf 3.2.5

意义

通过本Demo,可以整体提高对Yaf框架的认知,熟悉并掌握以下知识点:

  1. Redis队列和延迟队列
  2. 事件调度器、事件监听器
  3. Yaf扩展安装与配置
  4. php.ini配置
  5. nginx重写规则
  6. Yaf目录结构(多模块)
  7. Bootstrap
  8. 类的加载规则(PSR4)
  9. 插件的6个Hook
  10. 路由和路由协议(Rewrite、Regex)
  11. Dispatcher分发器
  12. 控制器、请求、响应、配置等内建类
  13. 异常和错误机制

部署方法

  1. 安装Yaf扩展
  2. 编辑php.ini,添加配置
  3. 添加nginx伪静态
  4. 安装依赖composer install
  5. 导入数据库
  6. 配置go-cqhttp反向POST接口http://127.0.0.1/index/Bot/index/qq/qq
  7. 运行机go-cqhttp进程 cd ./conf/product/go-cqhttp && ./go-cqhttp -d -c ./config.yml
  8. 运行Redis队列进程 cd ./conf/product/bin && ./queue -c ./queue.conf
  9. 完成,访问测试

php.ini配置项

extension = yaf.so
yaf.environ = "product"
yaf.cache_config = 1
yaf.use_namespace = On
yaf.use_spl_autoload = On

nginx伪静态

location / {
  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

访问测试

  1. 豆瓣条目:http://movie.iyuu.cn/subject/35087699
  2. 豆瓣全部演职员:http://movie.iyuu.cn/celebrities/35087699
  3. IMDb条目:http://movie.iyuu.cn/title/tt13696296
  4. 机器人上报接口:https://movie.iyuu.cn/index/Bot/index

目录结构

+ public
  |- index.php //入口文件
  |- .htaccess //重写规则    
  |+ css
  |+ img
  |+ js
+ conf
  |- application.ini //配置文件
  |- route.php		 //路由协议
+ application
  |+ controllers
     |- Index.php //默认控制器
  |+ views    
     |+ index   //控制器
        |- index.phtml //默认视图
  |+ modules //其他模块
  |+ library //本地类库
  |+ models  //model目录
  |+ plugins //插件目录

参考

PHP官方文档:https://www.php.net/manual/zh/intro.yaf.php

鸟哥官方文档:https://www.laruence.com/manual/index.html

配置文件:https://www.laruence.com/manual/yaf.config.optional.html

注册其他命名空间:https://www.laruence.com/manual/yaf.autoloader.html

类的加载方法:https://www.laruence.com/manual/yaf.autoloader.rule.html

路由协议:https://www.laruence.com/manual/yaf.routes.static.html

Seaslog扩展仓库:https://github.com/SeasX/SeasLog

空文件

简介

使用Yaf框架实现,一个兼容OneBot标准的机器人接口。(Yaf是一个C语言编写的PHP框架) 展开 收起
PHP
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/MayuriNFC/bot.git
git@gitee.com:MayuriNFC/bot.git
MayuriNFC
bot
Bot
master

搜索帮助