微信机器人聊天API

这几天闲的突然到腾起公司微信了,于是在一个目录下安装了wordpress ,然后,准备倒腾公司微信公众平台,在WordPress里更新文章,可以回复文字查询,一个是用了小黄鸡在线聊天的API接口,一个是用了图灵机器人的在线聊天,图灵机器人需要注册账号,获取KEY后方可使用,免费的额度是每天调用5000次。

图灵机器人比小黄鸡有内容有比较好些,但是感觉内容空缺比较大,各有优点和缺点

小黄鸡的聊天API

我直接封装成函数,方便调用

配制方案


    //小黄鸡智能机器人接口
    function xiaohuangji( $keyword ){
        if ( $keyword<>'' ){
            $curlPost = 'para='.$keyword;
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, 'http://www.xiaohuangji.com/ajax.php');
            curl_setopt($curl, CURLOPT_HEADER, false);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curl, CURLOPT_NOBODY, true);
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
            $return_str = curl_exec($curl);
            $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
            if ($return_str === false) {
                return false;//连接失败
            }
            if ($http_code !== 200) {
                return false;//连接失败
            }       
            curl_close($curl);
            if(md5($return_str)=='3f46a0d792a6a4104c11283d4768192d'){
                //抱歉,小黄鸡还不能理解,求您教我,使用"问...答....."句式(不准带标点~)
                return false;
            }
            return $return_str;
        }return false;
    }

食用方法

食用方法就很简单

xiaohuangji('keyword');

直接传入参数就可以了。

图灵机器人API

配置方法

获取Json数据,加这一步的原因是部分主机不支持file_get_contents函数时,我们采用CURL来实现获取文件内容

function get_url_content($url=''){
    if(function_exists('file_get_contents')) { //判断是否支持file_get_contents函数
        $file_contents = file_get_contents($url);
    } else {
        $timeout = 5; //超时时间 
        curl_setopt ($ch, CURLOPT_URL, $url);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        $file_contents = curl_exec($ch);
        curl_close($ch);
    }
    return $file_contents;
}

这里就是核心的函数了,不过部分内容我就随心的折腾了一点,有点乱,你过自己想更好的研究下,可以去官网上看看官网给出的API和Json数据结构。申请到KEY时,把下面代码中的$key的值替换掉。代码写的烂,哈哈~


/**
* @auther:yefengs.con
* @return string(utf-8)
* @ url http://os.yefengs.com
*/
function get_tuling_char($Keyword=''){
    if ($Keyword) {
        $Keyword = str_replace(' ', '', $Keyword);//去掉空格
        $Keyword = str_replace('%20', '', $Keyword);//去掉转码后的空格
        $key='1234567890abcdefghigklmnopqrstuvwxyz';//KEY 秘钥
        $getjson="http://www.tuling123.com/openapi/api?key=".$key."&info=".$Keyword."";
        $content =json_decode(get_url_content($getjson));//转换成数组
        $code = $content->code;//服务器返回的状态代码
        switch ($code) {
            case '100000':
                return $content->text;
                break;
            case '200000':
                return $content->text.',点击链接'.$content->url."看看";
                break;
            case '302000':
                return $content->text."\n 《".$content->list[0]->article."》 \n 点击链接查看".$content->list[0]->detailurl;
                break;
            case '304000':
                return $content->text."\n 《".$content->list[0]->name."》 \n 点击链接下载".$content->list[0]->detailurl;
                break;
            case '305000':
                return $content->text."\n 车次:".$content->list[0]->trainnum."\n 起始站:".$content->list[0]->start."\n 到达站:".$content->list[0]->terminal."\n 开车时间:".$content->list[0]->starttime."\n 到达时间".$content->list[0]->endtime."\n 详细点击:".$content->list[0]->detailurl;
                break;
            case '306000':
                $temp_content=$content->text."\n";
                for ($i=0; $i <count($content->list) ; $i++) { 
                    $temp_content .= "航班:".$content->list[$i]->flight."\n 起飞时间:".$content->list[$i]->starttime."\n 到达时间:".$content->list[$i]->endtime;
                    if ($i>=5) {
                        break;
                    }
                }
                return $temp_content;
                break;
            case '308000':
                $temp_content=$content->text."\n";
                for ($i=0; $i <= count($content->list)-1 ; $i++) { 
                    $temp_content .= "电影名:".$content->list[$i]->name."\n 简介:".$content->list[$i]->info."\n 详情:".$content->list[$i]->detailurl."\n";
                    if ($i>=5) {
                        break;
                    }
                }
                    return $temp_content;
                break;
            case '309000':
                $temp_content=$content->text."\n";
                for ($i=0; $i <= count($content->list)-1 ; $i++) { 
                    $temp_content .= "酒店名:".$content->list[$i]->name."\n 价格:".$content->list[$i]->price."\n 满意度:".$content->list[$i]->satisfaction."\n";
                    if ($i>=5) {
                        break;
                    }
                }
                    return $temp_content;
                break;
            case '311000':
                $temp_content=$content->text."\n";
                for ($i=0; $i <= count($content->list)-1 ; $i++) { 
                    $temp_content .= "名称:".$content->list[$i]->name."\n 价格:".$content->list[$i]->price."\n 详情:".$content->list[$i]->detailurl."\n";
                    if ($i>=5) {
                        break;
                    }
                }
                    return $temp_content;
                break;
            default:
                return '服务器开小差了~稍后试试~';
                break;
        }
    }
}

食用方法

直接传输参数就可以返回结果

get_tuling_char($Keyword)

0 thoughts on “微信机器人聊天API
添加一条新回复 回到顶部

亲爱的,主人已经关闭了这篇文章的评论 。