头像

ThinkPHP开发微信聊天机器人源码(扫描二维码可聊天)

来源:http://www.iw4g.com/php/1422.html wu***ei 2017-03-07 07:05浏览(3177) 收藏

扫描二维码就可以跟这个机器人聊天,这个机器人不能回复数字类问答。主要是用的thinkPHP3.2.3版本开发的微信聊天机器人,调的接口是聚合数据的图灵机器人。
ThinkPHP开发微信聊天机器人源码(扫描二维码可聊天)
分类:PHP > 手机 难易:中级

程序员,你不是一个人;网站开发QQ群:35248186,在线充值,或联系QQ2589223951直接充值

下载资源 下载积分: 80 积分

复制下面的php代码执行一下,得到access_token,一天上线2000次请求

$appid = "此处填写你的AppID(应用ID)";
$appsecret = "此处填写你的AppSecret(应用密钥)";
define("APPID",$appid);
define("APPSECRET",$appsecret); 

$token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;
$res = file_get_contents($token_access_url); //获取文件内容或获取网络请求的内容
//echo $res;
$result = json_decode($res, true); //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
$access_token = $result['access_token'];
echo $access_token;
// echo '<br>';
// print_r($result);

下面这段代码已经调试好了,可直接运行,启用服务器配置。填写匹配Token(令牌)的关键代码。

/**
 * wechat php test
 */
//define your token
define("TOKEN", "wudiphp");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();

class wechatCallbackapiTest {

    public function valid() {
        $echoStr = $_GET["echostr"];
        //valid signature , option
        if ($this->checkSignature()) {
            echo $echoStr;
            exit;
        }
    }

    public function responseMsg() {
//get post data, May be due to the different environments
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
        //extract post data
        if (!empty($postStr)) {

            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
            $fromUsername = $postObj->FromUserName;
            $toUsername = $postObj->ToUserName;
            $keyword = trim($postObj->Content);
            $time = time();
            $textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
            if (!empty($keyword)) {
                $msgType = "text";
                $contentStr = "Welcome to wechat world!";
                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                echo $resultStr;
            } else {
                echo "Input something...";
            }
        } else {
            echo "";
            exit;
        }
    }

    private function checkSignature() {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];

        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode($tmpArr);
        $tmpStr = sha1($tmpStr);
        if ($tmpStr == $signature) {
            return true;
        } else {
            return false;
        }
    }

}

机器人目前只做了文字对话处理,语音对话跟图片处理属于二次开发,在Index控制器中可以看到有做一个简单处理! 微信公众号开发者文档:https://mp.weixin.qq.com/wiki/17/f298879f8fb29ab98b2f2971d42552fd.html 源码需要填充的只有这几个,其中$token是自己随便填写的,但是必须跟后台对应上!

下面是关键的图灵聊天机器人接口函数,我放在function.php里面

/**
 * 请求接口返回内容
 * @param  string $url [请求的URL地址]
 * @param  string $params [请求的参数]
 * @param  int $ipost [是否采用POST形式]
 * @return  string
 */
function juhecurl($url,$params=false,$ispost=0){
    $httpInfo = array();
    $ch = curl_init();

    curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    if( $ispost )
    {
        curl_setopt( $ch , CURLOPT_POST , true );
        curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
        curl_setopt( $ch , CURLOPT_URL , $url );
    }
    else
    {
        if($params){
            curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
        }else{
            curl_setopt( $ch , CURLOPT_URL , $url);
        }
    }
    $response = curl_exec( $ch );
    if ($response === FALSE) {
        //echo "cURL Error: " . curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    curl_close( $ch );
    return $response;
}

/**
 * 机器人问答返回内容
 * @param  string $url [请求的URL地址]
 * @param  string $params [请求的参数]
 * @param  int $ipost [是否采用POST形式]
 * @return  string
 */
function wenda($info){
    header('Content-type:text/html;charset=utf-8');
    //************1.问答************
    $url = "http://op.juhe.cn/robot/index";
    $params = array(
          "key" => "5e70fea5553d2deea473c13b516a564a",//您申请到的本接口专用的APPKEY
          "info" => $info,//要发送给机器人的内容,不要超过30个字符
          "dtype" => "",//返回的数据的格式,json或xml,默认为json
          "loc" => "",//地点,如北京中关村
          "lon" => "",//经度,东经116.234632(小数点后保留6位),需要写为116234632
          "lat" => "",//纬度,北纬40.234632(小数点后保留6位),需要写为40234632
          "userid" => "",//1~32位,此userid针对您自己的每一个用户,用于上下文的关联
    );
    $paramstring = http_build_query($params);
    $content = juhecurl($url,$paramstring);
    $result = json_decode($content,true)["result"]["text"];
    $resulturl = json_decode($content,true)["result"]["url"];
    if ($resulturl) {
        $result=$result.'请点击'.'                                   '.$resulturl;
    }
    return $result;
}
最新交易
评论13
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 2589223951

  • 头像 12楼
    02-13 11:39
    ne***92
    有没有人用过,可以用就下载啦。求下载的大大回复下~谢谢
  • 头像 11楼
    01-27 23:36
    QQ***QQ
    我就想下载一个所以说行不行啊
  • 头像 10楼
    12-19 09:07
    折腾***8月
    可以下载用一用
  • 头像 9楼
    10-16 11:21
    ha***jy
    很好,牛逼!
  • 头像 8楼
    10-08 11:57
    风***暴
    牛逼!牛逼!牛逼!牛逼!
  • 头像 7楼
    08-09 18:27
    三***一
    厉害了我的哥!!
  • 头像 6楼
    08-02 10:00
    ba***tk
    下载了。还没用到。
  • 头像 5楼
    06-01 09:46
    ba***20
    高端,大气。。
  • 头像 4楼
    05-26 09:35
    55***55
    看起来好高大上
  • 头像 3楼
    04-28 12:47
    ap***13
    这个分数不高,哈哈,试试
1 2
新吉祥彩票 www.398369.com-七星彩还未开的好| www.31755.cc-快易彩首页-| www.022171.com-彩票中奖的数学分析| www.115073.com-下载彩票软件安装| www.117561.com-福利彩票导师带人| www.874517.com-大乐透彩票中奖查询| 500彩票www.3126d.com| www.pz79.com-新乐彩app-| www.32lr.com-七星彩中六个数有奖| www.0335.in-歌曲彩红的约定| www.405220.com-山东彩民3亿| www.529175.com-新浪彩票双色球竟技| www.618342.com-陕西体育彩票大乐透| www.697182.com-中体彩运营公司| www.788694.com-竞彩单场推荐总绘| www.866567.com-天津时彩开奖记录| www.979925.com-利海互动彩票合法吗| www.bw81.com-体彩竞彩足球胜平负| www.341171.com-拉萨体彩中奖| www.548706.com-福彩门户新地址| www.625988.com-附近福彩点-| www.737933.com-二手彩神uv喷绘机| www.9410.in-非凡网彩票走势图| www.92368.com-一定牛体彩下载| www.024367.com-时时彩任三诀窍| www.554241.com-体育彩票怎么打票| www.682380.com-足彩二串微信号| www.791311.com-体彩排三彩吧图库| www.873750.com-体育彩票查-| www.955617.com-手机玩彩票有没有挂| www.cai3800.com河南彩三-| www.369180.com-贵州彩票兑奖中心| www.748338.com-977彩票官网下载| www.859627.com-酷彩-| www.961043.com-神彩争霸邀请码| www.0517.net-新浪爱彩分析| www.771771.cc-老凤凰时时彩平台| www.971907.com-彩铅画人物卡通| www.8055.top-创意美术水彩画| www.132783.com-体彩世界杯竞猜玩法| www.390057.com-彩票输几十万| www.721632.com-彩票规律自动计算| www.801030.com-234彩票官方网站| www.879689.com-天天彩票网正规的吗| www.954635.com-买境外彩票违法| 中彩网www.81233z.com| www.874752.com-彩名堂最新版| 99彩票www.66870.cc| www.44gb.com-七彩蓝田项目| www.3380.vip-掌中彩平台-| www.35xg.com-彩票势图360| www.10096.cc-乐彩sdv709-| www.66598.com-全民汇彩票秘诀| www.129667.com-彩票新闻中奖故事| www.570787.com-上海福彩网短信投注| www.671357.com-中国彩吧3d字谜| www.763115.com-极速时时彩骗局| www.895429.com-中体华彩彩票合法吗| www.967634.com-手机选彩票软件下载| www.cp6276.com-江苏体彩乐乐预测号| www.ta16.com-福利彩票有几位数| www.48ge.com-海南七星彩体育彩票| www.844.hk-彩厍宝典app下载| www.17292.cc-彩神计划免费版| www.96223.cc-辽宁体彩排列三预测| www.707527.com-竞彩直播比分500| www.852133.com-新浪体育足彩开奖| www.934708.com-彩之源平台怎么下载| www.986704.com-竞彩篮球奥客网| www.ax08.com-内蒙古快三开奖软件| www.206224.com-投彩骗局高富帅| www.398232.com-廉江七星彩群| www.559061.com-福利彩票大家乐| www.660008.com-时时彩防连挂| www.815315.com-秒秒彩破解-| www.936701.com-乐福彩票骗局| www.ad61.com-1分快三计划| www.5456.cm-彩票领导者网站| www.39795.cc-彩票软件邀请码| www.006937.com-高频彩历史开奖查询| www.400611.com-休闲快三套路教学| www.692422.com-辽宁福彩网快乐12| www.63330.cc-足彩19039开奖| www.16100.com-乐和彩票合法吗| www.85bs.com-福彩彩票电话号码| www.4294.cc-宁夏快三派彩票| www.36998.cc-天天彩票苹果系统| www.93487.com-竞彩官方开盘规律| www.293283.com-体育彩票开奖时间| www.225444.com-英国三分彩开奖结果| www.380729.com-云南彩票大王| www.905907.com-天天体彩app下载| www.sl25.com-重庆时时彩倍率漏洞| www.40et.com-香港福利彩5斯| www.555570.cc-500万彩票邀请码| www.653937.com-莱利彩票是联网的吗| www.733118.com-江苏省彩票中心| www.794001.com-打彩票输钱了怎么办| www.990328.com-彩票交流群吧| www.ma34.com-彩票808网-| www.59nc.com-nba精彩十大绝杀| www.701299.com-博彩首存1元送彩金| www.048800.cc-爱彩乐正规吗| www.209440.com-黑彩我想坐庄| www.952548.com-188彩票手机版| 大赢家彩票www.530861.com| www.198184.com-今日贵州快三| www.365178.cc-中信彩票大厅| www.959835.com-福彩帮投-| www.nc1.com-快三数据分析表| www.538488.com-万和城彩票平台| www.7207.vip-时时彩app888| www.382963.com-无锡彩旸香江怎么样| www.496789.com-下载58彩票com| www.657130.com-时时彩去哪个网站买| www.723988.com-圆角分彩票平台| www.792531.com-彩6精华版网址| www.863372.com-体彩19029开奖| www.930047.com-香港牛蛙彩票四不像| www.978914.com-体彩足球竞猜| www.cp9099.com-02彩票app-| www.725681.com-有真中彩票的| www.785951.com-三彩女装官方网站| www.993773.com-足彩胜平负玩法说明| www.kh69.com-快三秒奶茶加盟网| www.611968.com-河北省体彩中心网站| www.697078.com-体育彩票36选七| www.762057.com-体育彩票图片大全| www.938140.com-好彩网3d预测| www.987221.com-全民福彩下载| www.cp5156.com-内蒙古快三投注技巧| www.472244.com-重生美国之中彩票| www.596058.com-彩票法律法规赊账| www.la0.com-浙江快乐彩开奖| www.8955.me-搜索二四六天天彩| www.68238.com-福利彩票趋势图表| www.834762.com-欧盟好彩蓝莓怎么样| www.973680.com-快三开奖走势图软件| www.kg10.com-山东福彩app官网| www.26os.com-东莞凤岗体彩店转让| www.0091.com-七星彩直播网易彩票| www.920198.com-gg彩票app-| www.998946.com-今日头条送彩票| www.ag29.cc-河南快三遗漏表| www.8wf.com-体彩的的跟单| www.81wb.com-深圳福彩官方网查询| www.982311.com-体彩中奖上哪领奖| www.qp3.com-论坛山东体彩| www.vl85.com-体育彩票排三走势图| www.09as.com-豪客彩首页-| www.74lr.com-彩字的含义祥解| 39彩票www.3933m.cc| www.cg37.com-快三怎么玩和值| www.wy39.com-旧万彩吧下载| www.21fm.com-高频彩票出号原理| www.vv26.com-江苏快三贴吧| www.42on.com-彩票如何刮到1万元| www.745.cm-时时彩机选还是自选| www.433118.com-贵阳彩票中心电话| www.522212.com-58彩票网计划群| www.587176.com-鼎誉国际彩票| www.666239.com-e乐彩可以赌吗| www.740338.com-福彩天下是正规的吗| www.810538.com-彩票走势显示屏|