微信公眾平台開發之小黃雞API

Y2J
發布: 2017-05-09 09:33:22
原創
3962 人瀏覽過

一、簡介

上一篇文章介紹了微信公眾平台翻譯功能的開發,實現了中、英、日語互譯,在實際生活中也能使用。在接下來的這篇文章中,我們將完成一個比較有趣的功能,那就是聊天機器人,可以在你無聊的時候陪你聊天逗你開心。

二、思路分析

#在這個實驗中,我們將調取小黃雞官方(www. simsimi.com/)提供的API,結合抓取小九機器人(www.xiaojo.com/)的網頁,互相補充。 Simsimi 是收費的,但你可以嘗試7天測試,每天可以免費使用100條回复;小九機器人可以無限制使用,但前提是官方不屏蔽。

三、小黃雞API 分析

#3.1 API & URL

官方API 位址:developer.simsimi.com/api 

Request URL:sandbox.api.simsimi.com/request.p

這裡使用免費版測試,付費版的類似,只是URL位址不同。

3.2 請求範例與參數說明

請求範例:

sandbox.api.simsimi.com/request.p?key=your_trial_key&lc=en&ft=1.0&text=hi
登入後複製

參數說明:

key: 申請的API Key

lc: Language code,支援的語言,簡體中文用ch,繁體中文用zh,英文用en,詳細請參考:developer.simsimi.com/lclist

#ft: 是否設定過濾器,

  0.0:未過濾(包含詛咒,性內容);

  1.0:過濾不文明字句(暫時只支援韓文)

text: 請求的文字

3.3 傳回值分析

result:執行結果回傳碼


    • ##100-OK.

    • 400-Bad Request.

    • 401-Unauthorized.

    • 404-Not found.

    • #500-Server Error.

#id :回覆的訊息id(只有result=100 時才會有此項目)


response:回覆的訊息(只有result=100 時才會有此項目)

msg :執行結果回傳碼對應的狀態

#四、取得小黃雞API Key

4.1註冊simsimi 帳號

URL: developer.simsimi.com/signUp

##4.2 啟動帳號

4.3 取得API Key

五、具體實作

5.1 呼叫小黃雞API 實作

#dsim($keyword) 函數處理,將其中的「Your API Key」 換成申請到的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;
            }
        }
    }
登入後複製

說明:因為有時小黃雞不回复,所以在simsim() 函數中加入了一個判斷,如果$ response 不為空,則回傳$response;如果$response 為空,則加了一個小小的程式碼,讓其隨機回覆自訂的訊息,這樣就可以做到有求必應了。

5.2 呼叫小九機器人實作

小九機器人不提供API,故只能透過網頁抓取,程式碼如下:

    //小九机器人
    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 雙龍戲鳳

我們也可以將上面的小黃雞和小九機器人整合,具體程式碼如下:

    //双龙戏凤
    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]";
        }
    }
登入後複製

六、測試

 

【相關推薦】


1.

微信公眾號平台原始碼下載

2.

阿狸子訂單系統原始碼免費下載

#

以上是微信公眾平台開發之小黃雞API的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板