"PHP Public Platform Development Series"
01. Configure the interface
02. Public Platform Sample Code analysis
03. Subscription event (SUBSCRIBE) processing
04. Simple Reply Function development
05. Development of weather forecast function
06. Translation Function Development
07. Chat Robot Function Development
This address: http://www.phpchina.com/archives/view-43393-1.html
This series by Phpchina invited author @david_tang feeds, reprint please indicate the author information and this article address.
First, Introduction
The previous article introduced the development of the translation function of the public platform, which realized the translation of Chinese, English and Japanese languages, and could be used in real life. In the next article, we will complete a more interesting feature, that is, chat robot, you can be bored when you chat with you to make you happy.
Second, the Thinking analysis
In this experiment, we will pick up the API provided by the http://www.simsimi.com/, which is supplemented by the Web pages that crawl the small nine robots (http://www.xiaojo.com/). Simsimi is charged, but you can try the 7-day Test and use 100 replies a day for free; the small nine robots can be used without restrictions, but only if the official is not shielded.
Three, small yellow chicken API analysis
3.1 API & URL
Official API Address: HTTP://DEVELOPER.SIMSIMI.COM/API
Request URL:HTTP://SANDBOX.API.SIMSIMI.COM/REQUEST.P
Here is the free version of the test, similar to the paid version, but the URL address is different.
3.2 Sample Request and parameter description
Sample Request:
Http://sandbox.api.simsimi.com/request.p?key=your_trial_key&lc=en&ft=1.0&text=hi
Parameter description:
Key: API Key for the application
Lc:language code, supported languages, Simplified Chinese with ch, Traditional Chinese en, English with en, please refer to for more details: http://developer.simsimi.com/lclist
FT: whether to set the filter,
0.0: Unfiltered (contains curse, sexual content);
1.0: Filter uncivilized words (only Korean is supported temporarily)
Text: The requested literal
3.3 Return value analysis
Result: Execution results return code
-
- 100-ok.
- 400-bad Request.
- 401-unauthorized.
- 404-not found.
- 500-server Error.
ID: The message ID of the reply (only if result=100 is available)
Response: Reply Message (This is only available when result=100)
msg: Execution result return code corresponding state
Four, get the small yellow chicken API Key
4.1 Register Simsimi Account
Url:http://developer.simsimi.com/signup
4.2 Activating your Account
4.3 Get API Key
V. Concrete Realization
5.1 Call small yellow chicken API implementation
Call the Simsim ($keyword) function and replace the "Your API Key" with the API key you requested.
Small yellow chicken 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); Reads the entire file into a string $result =json_decode ($json, true); Encode the string in JSON format//$errorCode = $result [' result ']; Debug with $response = $result [' response ']; Reply message if (!empty ($response)) {return $response; }else{$ran =rand (1,5); Switch ($ran) {case 1:return "the chicken is tired today and will chat with you tomorrow." "; Break Case 2:return "The Chicken Sleeps ~ ~"; Break Case 3:return "Whistling ~ ~ ~"; Break Case 4:return "You speak a lot, don't talk to You"; Break Case 5:return "Thank you for your interest in" Zhuo Jin Suzhou "." \ n "." No.Zhuojinsz "." \ n "." Brilliant Splendid, Bandai Immortal "; Break Default:return "Thank you for your interest in" Zhuo Jin Suzhou ". \ n "." Number: Zhuojinsz "." \ n "." Brilliant Splendid, Bandai Immortal "; Break } } }
Description
Because sometimes the small yellow chicken does not reply, so in the Simsim () function added a judgment, if $response is not empty, then return $response; If $response is empty, add a small code to randomly reply to the custom message, So you can do whatever you like.
5.2 Call small nine robot implementation
The small nine robot does not provide the API, so only through the PHP function to achieve the page crawl, the code is as follows:
Small nine robot public function Xiaojo ($keyword) {$curlPost =array ("chat" + = $keyword); $ch = Curl_init ();//Initialize Curl curl_setopt ($ch, Curlopt_url, ' http://www.xiaojo.com/bot/chata.php ');//crawl specified page cur L_setopt ($ch, Curlopt_httpheader, $header); curl_setopt ($ch, Curlopt_header, 0);//Set HEADER curl_setopt ($ch, Curlopt_returntransfer, 1);//require the result to be a string and output to the screen curl_setopt ($ch, Curlopt_post, 1);//post Submission Method curl_setopt ($ch, Curlopt_postfields, $curlPost); $data = curl_exec ($ch);//Run Curl Curl_close ($ch); if (!empty ($data)) {return $data; }else{$ran =rand (1,5); Switch ($ran) {case 1:return "the chicken is tired today and will chat with you tomorrow." "; Break Case 2:return "The Chicken Sleeps ~ ~"; Break Case 3:return "Whistling ~ ~ ~"; Break Case 4:return "You talkA lot of ah, don't talk with You "; Break Case 5:return "Thank you for your interest in" Zhuo Jin Suzhou "." \ n "." Number: Zhuojinsz "." \ n "." Brilliant Splendid, Bandai Immortal "; Break Default:return "Thank you for your interest in" Zhuo Jin Suzhou ". \ n "." Number: Zhuojinsz "." \ n "." Brilliant Splendid, Bandai Immortal "; Break } } }
5.3 Double Dragon Play Phoenix
We can also integrate the small yellow chicken and the small nine robots, the code is as follows:
Shuanglong Play Phoenix public function chatter ($keyword) { $curlPost =array ("chat" + = $keyword); $ch = Curl_init (); Initialize Curl curl_setopt ($ch, Curlopt_url, ' http://www.xiaojo.com/bot/chata.php '); Crawl specified Web page curl_setopt ($ch, Curlopt_httpheader, $header); curl_setopt ($ch, Curlopt_header, 0); Set Header curl_setopt ($ch, Curlopt_returntransfer, 1); Requires the result to be a string and output to the screen curl_setopt ($ch, Curlopt_post, 1); Post Submission Method curl_setopt ($ch, Curlopt_postfields, $curlPost); $data = curl_exec ($ch); Run Curl curl_close ($ch); if (!empty ($data)) { return $data. " [/::) small nine] "; } else{ return $this->simsim ($keyword). " [simsim/::D] "; } }
VI. Testing
http://www.bkjia.com/PHPjc/740331.html www.bkjia.com true http://www.bkjia.com/PHPjc/740331.html techarticle "PHP Public Platform Development Series" 01. Configure interface 02. Public Platform Sample Code Analysis 03. Subscription events (subscribe) processing 04. Simple reply Function Development 05. Weather Forecast Function ...