《微信開發十之再說小i機器人(附完整PHP源碼)》要點:
本文介紹了微信開發十之再說小i機器人(附完整PHP源碼),希望對您有用。如果有疑問,可以聯系我們。
相關主題:web微信和微信機器人
歡迎參與《微信開發十之再說小i機器人(附完整PHP源碼)》討論,分享您的想法,維易PHP學院為您提供專業教程。
小i機器人開發交流群內的開發者提問:如何在使用自己的服務器上哀求小i機器人給的接口實現微信公眾號的智能回復.基于這個問題,筆者寫了本篇開發指南,并提供PHP版本源碼供大家測試.
1.點擊注冊微信"大眾平臺接口測試帳號;
2.點擊注冊小i機械人iBotCloud賬號;
3.建立自己的服務器,有獨立IP且80端口未占用(保舉使用云服務器,筆者使用的是新浪云服務器SAE.騰訊云/阿里云均可);
4.安裝當地開發環境,可以使用Eclipse,Notepad++等(筆者使用的Eclipse for PHP),百度搜索“Eclipse for PHP”選擇合適版本下載安裝;
5.使用版本控制軟件,可以用git、SVN(筆者使用的SVN,可視化操作較git相比更易上手)
1.完成微信平臺的消息響應;
2.在文本消息回復中哀求小i機器人的接口;
1.完成微信平臺消息響應
微信服務器與我們本身搭建的服務器要建立連接,如何讓微信服務器識別是我們的服務器在和微信服務器通話呢?這就需要我們編程實現.我們先看下微信官方給的業務邏輯流程圖,如圖1所示,先提取signnature等一系列字段,再提取TOKEN,最后匹配數據源.驗證成功則再進行下一步業務邏輯(這段分析較為拗口,如果不理解沒有關系.待coding了一段時間之后,便自行明朗).
圖1
1.1搭建本身的云服務器(筆者以SAE作為參考)
1.登錄SAE,如圖2所示.
圖 2
2.創立新應用,如圖3所示.
圖 3
3.選擇新應用的參數,如圖4所示.
參數不要選錯,選擇PHP語言、標準環境、語言版本5.6、代碼管理SVN、二級域名(本身隨便取,這個很重要是微信平臺中要填寫的Url).免費創建應用.
圖 4
4.創立代碼版本,如圖5所示.
圖5
1.2Eclipse中檢出SAE項目
1.在Eclipse中checkout新浪云中的項目,如圖6所示.
SVN倉庫信息如圖7所示.在Eclipse中選擇“從SVN檢出項目”,輸入圖6所示的信息(分歧應用對應分歧的信息),checkout出SAE的項目.
圖6
圖 7
2.變動項目中PHP語言版本,如圖8所示.
高版本的Eclipse默認PHP版本為7,而我們的SAE應用中PHP版本為5.6,因此必要調整Eclipse默認PHP版本.
圖 8
1.3樹立微信后臺通信
1.在Eclipse項目工程中利用SVN上傳代碼至SAE服務器.
通過1.1,1.2兩個步驟,我們已經把服務器、開發環境部署完畢.現在利用編程實現.在Eclipse中的index.php文件,刪除原先代碼并復制以下代碼,保留上傳至SAE.
代碼1
2.在微信"大眾平臺接口測試帳號中輸入Url及TOKEN.
URL是之前自定義的二級域名,Token一般使用weixin(自定義),但需與代碼中一致.輸入后點擊提交,配置勝利(若配置不勝利,多點幾次;若依然未勝利再聯系筆者).
圖9
至此,我們完成微信平臺響應.
2.在文本消息回復中哀求小i機器人接口
完成微信平臺響應之后,我們要開始執行后續的業務邏輯.我們參加兩個功能:
響應關注變亂
響應文本消息
2.1.響應關注變亂
我們必要在publicfunction responseMsg()函數中加入代碼以執行業務邏輯操作,代碼如下所示(不理解沒關系,不影響后續操作).
代碼2
同時還要再寫兩個函數,一個是receiveEvent接收變亂的函數,其中對關注變亂"subscribe"做了響應,關注后回復"welcome to new test wechat!"
代碼3
另一個函數是returnText用來回復文本信息
代碼4
至此,完成響應關注變亂的代碼,測試效果如圖10所示
圖10
2.2.響應文本消息
2.2.1.文本接收變亂函數
receiveText代碼如下所示.
代碼5
2.2.2.小i機械人接口函數
注冊登錄后,得到小i機器人開發者的Key、Sectet
圖 11
getXiaoiInfo代碼如下所示.此版本為小i官方提供的PHP SDK精簡而來.如果正式開發,保舉使用小i機器人官方提供的SDK.
代碼6
至此我們完成小i機器人的接入.后果如圖12所示.
圖 12
有開發能力的同學可以參考此篇文檔接入小i機器人.文檔中有欠妥之處請斧正.
關注筆者運營的微信公眾號《學點編程》(shijiawen6),發送“001”獲取《微信開發一之環境部署》文章以參考相關軟件介紹;發送“003”獲取《微信開發三之小i機器人》粗拙版的小i機器人接入文檔.
發送“小i機器人”至微信公眾號后臺獲取源碼.源碼中需要將小i機器人的Key/Sceret修改為本身的參數.
微信:danielsjw,一起交流學習.