admin管理员组

文章数量:1531298

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

关于

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

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

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

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

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

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

https://forum.qqmini/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/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

Robot机器人QQ

msg收到的消息字符串

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

qq收到消息的来自QQ

guid收到消息来自群号

本文标签: 机器人多功能小明开源源码