微信公眾平台開發(84) 小i機器人


很多朋友詢問如何開發小黃雞之類的智能聊天機器人,但遺憾的是小黃雞接口申請頁面在最近幾個月里都無法訪問,且使用時限制太大,我們找了另一個接口:小i機器人。本文介紹如何在微信公眾平台中使用小i接口開發智能聊天機器人。

小i機器人是全球用戶量最大的中文聊天機器人,最早在MSN上出現,后拓展到QQ、短信、網頁等交互平台上,擁有超過1億的用戶。2012年2月,小i機器人整合了自然語音識別功能,並陸續發布了智能手機、智能電視以及電話上的語音交互版本。

小i機器人申請地址為
http://cloud.xiaoi.com/index.jsp
注冊即可獲得"初級測試權限",每日能有50次的智能問答;提交個人真實信息后可獲得"高級測試權限",每月有10000次智能問答調用次數。想要更多,則要付費。方倍目前使用的就是免費中的高級測試權限。
如果想體驗機器人的功能,那么可以直接在后台找到url和token,填到開發模式下即可。

如果公眾賬號中已經有其他功能,那么就需要使用代碼來接入,小i機器人的實現代碼如下:

 1 function getXiaoiInfo($openid, $content)
 2 {
 3     //定義app
 4     $app_key="************";
 5     $app_secret="********************";
 6 
 7     //簽名算法
 8     $realm = "xiaoi.com";
 9     $method = "POST";
10     $uri = "/robot/ask.do";
11     $nonce = "";
12     $chars = "abcdefghijklmnopqrstuvwxyz0123456789";
13     for ($i = 0; $i < 40; $i++) {
14         $nonce .= $chars[ mt_rand(0, strlen($chars) - 1) ];
15     }
16     $HA1 = sha1($app_key.":".$realm.":".$app_secret);
17     $HA2 = sha1($method.":".$uri);
18     $sign = sha1($HA1.":".$nonce.":".$HA2);
19 
20     //接口調用
21     $url = "http://nlp.xiaoi.com/robot/ask.do";
22     $ch = curl_init();
23     curl_setopt($ch, CURLOPT_URL, $url);
24     curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-Auth:    app_key="'.$app_key.'", nonce="'.$nonce.'", signature="'.$sign.'"'));
25     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
26     curl_setopt($ch, CURLOPT_POST, 1);
27     curl_setopt($ch, CURLOPT_POSTFIELDS, "question=".urlencode($content)."&userId=".$openid."&platform=custom&type=0");
28     $output = curl_exec($ch);
29     if ($output === FALSE){
30         return "cURL Error: ". curl_error($ch);
31     }
32     return trim($output);
33 }

微信接口中調用如下:

1     private function receiveText($object)
2     {
3         $keyword = trim($object->Content);
4         include("xiaoi.php");
5         $content = getXiaoiInfo($object->FromUserName, $keyword);
6         $result = $this->transmitText($object, $content);
7         return $result;
8     }

實現效果如下:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM