欢迎光临
我们一直在努力

小明同学机器人V4.0开源,基于PHP开发的QQ多功能机器人

小明同学机器人V4.0开源,基于PHP开发的QQ多功能机器人-同济互联

关于

本次大更新主要由于上次酷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()函数添加自己的功能

function function_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 function fudu()
   {
   /**
    * $GLOBALS['msg'] 是全局变量获取收到的消息
    * 我们收到消息后通过Robot::msg_get发送出去就实现复读功能了。
   */
    Robot::msg_get($GLOBALS['msg']);
   }
    /**
     * 演示直接执行的功能demo
     */
    public function demo()
    {
    Robot::msg_get('我收到消息了' . $GLOBALS['msg']); //收到消息后回复"我收到消息了"加你发送的消息
   }
}
这样,一个自己的功能就大功告成了,你还可以基于下面全局变量开发更多有意思的功能:

附:全局变量列表

调用方式 :

例如获取收到的消息:$GLOBALS['msg'] msg改成下面的name即可

name说明
config
Config.php下的function config()机器人功能配置数组
host
HTTP API接口地址
API_KEY
API平台密钥 api88.net
Robot
机器人QQ
msg
收到的消息字符串
type
收到的消息类型,可根据“httpAPI消息推送(回调).txt”查看
qq
收到消息的来自QQ
guid
收到消息来自群号
赞(9) 打赏
未经允许不得转载:同济互联 » 小明同学机器人V4.0开源,基于PHP开发的QQ多功能机器人
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

同济互联 建站更专业 更方便

网站建设联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏