The previous article introduced the development of the translation function of the WeChat public platform, which realizes translation between Chinese, English and Japanese, and can also be used in real life. In the next article, we will complete a more interesting function, which is a chatbot that can chat with you and make you happy when you are bored.
In this experiment, we will call the API provided by the official Xiaohuangji (http://www.simsimi.com/), combined with crawling the webpage of the Xiaojiu robot (http://www.xiaojo.com/), complement each other. Simsimi is charged, but you can try a 7-day test and you can use 100 replies for free every day; Xiaojiu robot can be used without restrictions, but only if it is not officially blocked.
3.1 API & URL
Official API address: http://developer.simsimi.com/api
Request URL: http://sandbox.api.simsimi.com/request.p
The free version is used here for testing. The paid version is similar except that the URL address is different.
3.2 Request examples and parameter description
Request example:
http://sandbox.api.simsimi.com/request.p?key=your_trial_key&lc=en&ft=1.0&text=hi
Parameter description:
key: applied API Key
lc: Language code, supported languages, use ch for simplified Chinese, zh for traditional Chinese, and en for English. For details, please refer to: http://developer.simsimi.com/lclist
ft: whether to set filter,
0.0: Unfiltered (contains cursing, sexual content);
1.0: Filter uncivilized words (only supports Korean for now)
text: requested text
3.3 Return value analysis
result: execution result return code
id: Reply message id (this item is only available when result=100)
response: reply message (this item is only available when result=100)
msg: Status corresponding to the execution result return code
4.1 Register simsimi account
URL: http://developer.simsimi.com/signUp
4.2 Activate account
4.3 Obtain API Key
5.1 Implementation of calling Xiaohuangji API
Call the simsim($keyword) function and replace "Your API Key" with the applied API Key.
//小黄鸡 public function simsim($keyword){ $key="41250a68-3cb5-43c8-9aa2-d7b3caf519b1"; $url_simsimi="http://sandbox.api.simsimi.com/request.p?key=".$key."&lc=ch&ft=0.0&text=".$keyword; $json=file_get_contents($url_simsimi); // 把整个文件读入一个字符串中 $result=json_decode($json,true); // 对JSON 格式的字符串进行编码 //$errorCode=$result['result']; // 调试用 $response=$result['response']; // 回复的消息 if(!empty($response)){ return $response; }else{ $ran=rand(1,5); switch($ran){ case 1: return "小鸡鸡今天累了,明天再陪你聊天吧。"; break; case 2: return "小鸡鸡睡觉喽~~"; break; case 3: return "呼呼~~呼呼~~"; break; case 4: return "你话好多啊,不跟你聊了"; break; case 5: return "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"; break; default: return "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"; break; } } }
Description:
Because sometimes the little yellow chicken does not reply, a judgment is added to the simsim() function. If $response is not empty, $response is returned; if $response is empty, a small code is added to let it Reply with customized messages randomly so you can respond to requests.
5.2 Call Xiaojiu robot to implement
Xiaojiu Robot does not provide an API, so web crawling can only be achieved through PHP functions. The code is as follows:
//小九机器人 public function xiaojo($keyword){ $curlPost=array("chat"=>$keyword); $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL,'http://www.xiaojo.com/bot/chata.php');//抓取指定网页 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_HEADER, 0);//设置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_POST, 1);//post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); $data = curl_exec($ch);//运行curl curl_close($ch); if(!empty($data)){ return $data; }else{ $ran=rand(1,5); switch($ran){ case 1: return "小鸡鸡今天累了,明天再陪你聊天吧。"; break; case 2: return "小鸡鸡睡觉喽~~"; break; case 3: return "呼呼~~呼呼~~"; break; case 4: return "你话好多啊,不跟你聊了"; break; case 5: return "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"; break; default: return "感谢您关注【卓锦苏州】"."\n"."微信号:zhuojinsz"."\n"."卓越锦绣,万代不朽"; break; } } }
5.3 Two Dragons Playing with Phoenix
We can also integrate the Xiaohuangji and Xiaojiu robots above. The specific code is as follows:
//双龙戏凤 public function chatter($keyword){ $curlPost=array("chat"=>$keyword); $ch = curl_init(); //初始化curl curl_setopt($ch, CURLOPT_URL,'http://www.xiaojo.com/bot/chata.php'); //抓取指定网页 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_HEADER, 0); //设置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_POST, 1); //post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); $data = curl_exec($ch); //运行curl curl_close($ch); if(!empty($data)){ return $data." [/::)小九]"; }else{ return $this->simsim($keyword)." [simsim/::D]"; } }