天天看點

qq機器人php源碼_基于PHP開發的QQ多功能機器人,小明同學機器人V4.0開源

鳴謝:此源碼由-同濟互聯-小偉開發并開源,感謝老哥開源!!!

關于

本次大更新主要由于上次酷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

{public functionfudu(){Robot::msg_get($GLOBALS['msg']);}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收到消息來自群号