临高中立科技 旗下:精英网|海微商|海微信|天涯数码
网站首页home 网站建设web Const 系统开发System Dev 微信开发wx Dev 网站推广Website SEO 网站超市Website SM 客户案例Client case 网站模板Web template 关于我们About us
微信开发
微信系统开发 微信开发功能 公众号基础教程 开发技术资讯 公众号推广营销 客户案例
联系我们
QQ服务群:28519571 工作时间:86-0898-31568080 传真号码:86-0898-31568085 24小时服务:0138-07590485
 您现在的位置: 首页 >> 微信开发 >> 开发技术资讯 开发技术资讯
微信公众平台机器人教程
临高中立科技 | 2018-01-26 23:55:58 | 阅读:41343
首先要去微信公众平台申请一个帐号http://mp.weixin.qq.com/申请一个SAE应用我的是http://weixintalk.sinaapp.com设置微信接口地址微信平台->设置->回复设置->自定义回复->调用公众平台消息接口>>url写这个url,token随便定一个"helloczq"开启SAE服务由于我们需要教机器人一些日常用语,所以我们必须要一个存储他们的空间,这里暂时使用SAE的kvdb服务,请先到sae开启。定义规则我们先给他定义一个简单的规则,比如求助是help教他学东西是"_"+问题+":"+回答比如:_hi:hello,就是回复hello给hi如果一样东西有很多人教他,机器人应该优先回复旧的东西。聊天代码规则定好了,我们先写一个聊天的类classtalk{publicfunctionreply($str){$kv=newSaeKV();$kv->init();//用户输入帮助语句,可以自定义帮助语法if($str=='help'||$str=='求助'){return"要教我读书,请英文下划线开头,接着问题,接着英文冒号,接着回答";}//下划线开头的教学模式if(substr($str,0,1)=='_'){//教$pos=strpos($str,':');if($pos>-1){//问题$q=substr($str,1,$pos-1);//答案$a=substr($str,$pos+1);//加入知识库$ret=$kv->get('know_'.md5($q));if($ret===false||!is_array($ret))$ret=array();$ret[]=$a;$kv->set('know_'.md5($q),$ret);return"known::".$q.'/'.$a;}}$ret=$kv->get('know_'.md5($str));//查询数据库,寻找问题答案if($ret===false||!is_array($ret)||count($ret)==0){return'我什么都不知道,输入"help"求助';}else{//随机一个while(count($ret)>1){$re=array_shift($ret);if(rand(0,1)==0)return$re;}returnarray_shift($ret);}}复制代码这个类会自动回复,教学,大家可以简单测试一下接入微信其实就是把上面那个类和官方的php代码拼起来...以下是全部代码,包括验证部分define("TOKEN","helloczq");$wechatObj=newwechat();$wechatObj->valid();$wechatObj->responseMsg();classwechat{publicfunctionvalid(){$echoStr=$_GET["echostr"];if(!$this->checkSignature())exit();}publicfunctionresponseMsg(){$postStr=$GLOBALS["HTTP_RAW_POST_DATA"];if(!empty($postStr)){$postObj=simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);$fromUsername=$postObj->FromUserName;$toUsername=$postObj->ToUserName;$content=trim($postObj->Content);$time=time();$talk=newtalk();$textTpl="%s0";$msgType="text";$contentStr=$talk->reply($content);$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);echo$resultStr;}else{echo$_GET["echostr"];exit();}}privatefunctioncheckSignature(){$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){returntrue;}else{returnfalse;}}}classtalk{publicfunctionreply($str){$kv=newSaeKV();$kv->init();if($str=='help'||$str=='求助'){return"要教我读书,请英文下划线开头,接着问题,接着英文冒号,接着回答";}if(substr($str,0,1)=='_'){$pos=strpos($str,':');if($pos>-1){$q=substr($str,1,$pos-1);$a=substr($str,$pos+1);$ret=$kv->get('know_'.md5($q));if($ret===false||!is_array($ret))$ret=array();$ret[]=$a;$kv->set('know_'.md5($q),$ret);return"known::".$q.'/'.$a;}}$ret=$kv->get('know_'.md5($str));if($ret===false||!is_array($ret)||count($ret)==0){return'我什么都不知道,输入"help"求助';}else{//随机一个while(count($ret)>1){$re=array_shift($ret);if(rand(0,1)==0)return$re;}returnarray_shift($ret);}}}?>复制代码
海南建站中心|海微商|中立科技|海口网站建设|海南网站设计|海南网站优化|海南网络推广|海南网页设计|微信云服务|海南自贸港建站|世纪华联|海微商|商会云|海南中立科技|海微信|海南微信电商|海微通|海南精英网|云财税|天涯数码|海南网站建设|海南网站制作|海口网站建设|三亚网站建设|儋州网站建设|五指山网站建设|文昌网站建设|琼海网站建设|万宁网站建设|东方网站建设|定安网站建设|屯昌网站建设|澄迈网站建设|临高网站建设|白沙网站建设|昌江网站建设|乐东网站建设|陵水网站建设|保亭网站建设|琼中网站建设|海口精英网|三亚精英网|文昌精英网|琼海精英网|陵水精英网|儋州精英网|万宁精英网|澄迈精英网|海微通
合作伙伴 企业发展 企业文化 联系我们 在线订购 网站地图 返回首页手机版
海口世纪华联科技有限公司2024版权所有 24小时服务热线:13807590485   欢迎来电咨询
地址:海南省.海口市.海甸二东路环惠大厦6楼(南宝路明都大厦107#) 公司电话:0898-31568080 31568060 QQ:85398489
全国合作联盟分布:海南海口 四川成都 湖北武汉 湖南长沙 安徽合肥 广东深圳 山西太原 西藏拉萨
技术服务: E_mail:zlkj_2008@126.com 服务订购:E_mail:server@web0898.net 在线客服邀请 备案/经营许可号:琼ICP备10201086号-16
推广关键字:临高网站建设,临高网站制作,临高网站开发,临高微信开发,临高微信公众号开发,临高微信公众号代运营,临高模板网站制作,临高网页设计,临高网络公司

在线客服 综合咨询 客服咨询 业务咨询 售后投诉
扫描直接联系