鸣谢:此源码由-同济互联-小伟开发并开源,感谢老哥开源!!!

关于

本次大更新主要由于上次酷Q凉凉导致停更的问题,此次基于的是qqmini框架,回调和推送插件是httpAPI,由于此框架暂时还无法发图,所以部分功能搁置还没写,等待后续更新把;

此次更新最主要的就是重构了全部代码,把以前的乱糟糟代码进行分类、模块化,让开发者更加容易二次开发,直接添加自己的功能函数就可以了。

让我们来搭建一个属于自己的机器人:

机器人搭建运行环境要求Windows7/server2012以上系统,有C++和.NET运行环境。

下载并安装框架:https://qqmini.cc/设置为TIM协议,然后登录自己的机器人QQ。

下载并启用插件:QQMini HTTP API 插件

https://forum.qqmini.cc/forum.php?mod=viewthread&tid=34&fromuid=10391

设置插件:消息推送:http://127.0.0.1:88/post/ (端口自行配置,但是在后续创建网站的时候要配置你填写的端口)

本地端口:80(可自行配置,但是在后续PHP文件要改成你配置的端口)下载 phpstudy_pro Windows版并安装

用phpstudy_pro创建网站,网站域名填写 127.0.0.1 ,端口填写 88(HTTP API 插件配置的推送地址的端口)

浏览器访问http://127.0.0.1:88/ 看是否正常。

在phpstudy_pro 点击你创建的网站的管理按钮->打开根目录->在根目录创建 post 文件夹,文件夹名称自己随便写,但是在HTTP API插件的消息推送配置就要写你创建的文件夹名。

然后下载代码包:https://github.com/tjitnet/xming

解压所有文件在 post 文件夹中

用专业的代码编辑器 打开Config.php 修改里面的配置信息。

然后浏览器访问 http://127.0.0.1:88/post/ 看看是否显示机器人配置页面。

如果机器人配置页面显示的机器人QQ和昵称正常就OK,如果取不到就重新启用qqmini插件。

二次开发

首先我们要知道几个文件是干什么的:文件名说明index.php机器人消息推送接口/入口文件(后续可用于开发API或更多领域的功能)

Config.php机器人功能配置文件

Robot.Class.php机器人核心功能,包括传递全局操作变量和函数,一般人不用管

function.php机器人功能函数模块文件,可添加你自定义的功能函数/方法(我们主要用这个)

添加自己的功能函数/方法:

用代码编辑器打开Config.php,定位到function_list()这个函数,然后在下面的数组中添加自己的函数名称,格式是:

消息关键词=>函数名称

这种格式是直接监控群里或者私聊的关键词来调用你自定义的函数,如果你不想监控关键词,只要是机器人收到消息就执行的函数就这把你的函数名称写到function 下,这个function下的函数的意义就是 不管什么消息或者监控多个关键词,或者其他想干嘛都可以写到function中。

示例代码:

// 基于Config.php下的function_list()函数添加自己的功能

functionfunction_list()

{$func_list_arr= [ //监控的关键词'复读' => 'fudu','function'=>[//不监控关键词直接执行的功能'demo',]];return$func_list_arr;

}

这里添加好了自己的函数名,在哪写代码呢?

打开function.php文件,定位到 -> class -> Robot_function {}中添加自己的功能函数/方法

示例代码

class Robot_function

{/**

* function fudu() 下面这里要和你在Config.php下的function_list()函数添加的函数名相同,否则会运行错误

*/public functionfudu(){/**

* $GLOBALS['msg'] 是全局变量获取收到的消息

* 我们收到消息后通过Robot::msg_get发送出去就实现复读功能了。

*/Robot::msg_get($GLOBALS['msg']);}/**

* 演示直接执行的功能demo

*/public functiondemo(){Robot::msg_get('我收到消息了' .$GLOBALS['msg']); //收到消息后回复"我收到消息了"加你发送的消息}

}

这样,一个自己的功能就大功告成了,你还可以基于下面全局变量开发更多有意思的功能:

附:全局变量列表

调用方式 :

例如获取收到的消息:$GLOBALS['msg'] msg改成下面的name即可name说明configConfig.php下的function config()机器人功能配置数组

hostHTTP API接口地址

API_KEYAPI平台密钥 api88.net

Robot机器人QQ

msg收到的消息字符串

type收到的消息类型,可根据“httpAPI消息推送(回调).txt”查看

qq收到消息的来自QQ

guid收到消息来自群号

qq机器人php源码_基于PHP开发的QQ多功能机器人,小明同学机器人V4.0开源相关推荐

  1. ThinkPHP php 仿千图网源码_基于ThinkPHP5框架开发的多功能内容管理系统

    会员优惠 会员优惠 月费会员8折.年费会员5折.永久会员免费 源码介绍 基于ThinkPHP5框架开发的多功能内容管理系统PHP源码,基于thinkphp5开发的内容管理系统,拓展性非常强,后台一键升 ...

  2. B2C商城项目源码,基于Java开发的高可用分布式B2C商城系统,Java+Spring MVC+Dubbo+Zookeeper+MySQL+Redis+FastDFS+Nginx+Solr

    目录 前言 B2C商城-AIYOU 一.项目总体架构 二.系统软硬件设施总体规划 1.系统服务规划 2.应用服务规划 3.应用系统域名规划 三.系统运行环境构建 四.项目数据库创建 五.项目拉取 六. ...

  3. halcon车牌识别完整源码_基于chineseocr_lite的身份证、火车票、车牌等中文OCR文字识别...

    简介 chineseocr_lite 超轻量级中文ocr,支持竖排文字识别, 支持ncnn推理 , psenet(8.5M) + crnn(6.3M) + anglenet(1.5M) 总模型仅17M ...

  4. idea运行jsp显示源码_基于jsp+mysql+Spring+mybatis的SSM在线个人PC电脑商城平台网站系统...

    运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以.IDE环境: Eclipse,Myeclipse,IDEA都可以tomcat环境: Tomcat 7.x,8. ...

  5. springboot项目文档源码_基于SpringBoot和Vue的企业级中后台项目(附源码)

    简介 SpringBoot和Vue,前后端分离,我们开源一套漂亮的代码和一套整洁的代码规范,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,热爱 ...

  6. java招投标网站源码_基于jsp的招标系统-JavaEE实现招标系统 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的招标系统, 该项目可用各类java课程设计大作业中, 招标系统的系统架构分为前后台两部分, 最终实现在线上进行招标 ...

  7. java婚庆网站源码_基于jsp的婚庆网站-JavaEE实现婚庆网站 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的婚庆网站, 该项目可用各类java课程设计大作业中, 婚庆网站的系统架构分为前后台两部分, 最终实现在线上进行婚庆 ...

  8. java房产源码_基于jsp的房屋交易管理系统-JavaEE实现房屋交易管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的房屋交易管理系统, 该项目可用各类java课程设计大作业中, 房屋交易管理系统的系统架构分为前后台两部分, 最终实 ...

  9. 小说网jsp源码_基于jsp+mysql的JSP小说网

    运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. IDE环境: Eclipse,Myeclipse,IDEA都可以 tomcat环境: Tomcat 7.x, ...

  10. 基于tutk方案的p2p源码_基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计)...

    [实例简介] 基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计). 可直接运行.做毕业设计.课程设计或者想研究下技术的可以下载学习.需要更多资源的可以关注我. [实例截图] [核 ...

最新文章

  1. Android的按钮单击事件及监听器的实现方式
  2. opencv 图像的腐蚀与膨胀
  3. 用linux遇到的一个死循环
  4. centos 7 修复mysql,快速修复Centos7 系统时区!
  5. Spring再次涵盖了您:继续进行消费者驱动的消息传递合同测试
  6. 最新BAT大厂面试者整理的Android面试题目模板,成功入职字节跳动
  7. nfs服务器_Kubernetes集群下部署NFS持久存储
  8. python label标签的作用_label标签的作用是什么?
  9. 骗子收录网站源码PHP搭建
  10. Java JDK安装和配置
  11. woff字体MIME类型配置
  12. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何修改某个轴的数值单位
  13. topaz全家桶中文_apache 开源项目全家桶 2020年12月中文介绍
  14. matlab2c使用c++实现matlab函数系列教程-sortrows函数
  15. 苹果激活锁功能可被长字符串溢出
  16. win2008虚拟化服务器配置,玩转Windows Server 2008自带的虚拟化功能
  17. Jni调用so动态库
  18. Egret做微信好友排行榜
  19. linux ps 命令大全
  20. Python 电脑上自动阅读东方头条

热门文章

  1. 《一小时高效会议》纪要摘录----梁聪
  2. C语言如何判断一个整数是奇数还是偶数
  3. 远程接入Linux、unix、Windows工具-opentext ETX
  4. Travis CI(持续集成)
  5. hashcat详细使用教程
  6. antd4.0中Form使用initialValue
  7. casquette swagg:泉州故事
  8. oracle 表空间满了排查和解决(ORA-1653: unable to extend table test by 128 in tab)
  9. 如何用东华大学的邮箱来在Cousera进行学生认证
  10. CH341应用升级为CH347软硬件注意事项