配置微博私信智能自动回复机器人

  • A+
所属分类:网络技巧
输入正文标题广告代码(非移动端)

私信回复机器人。类似小黄鸡那种。微信公众号上更容易见到。本文介绍微信普通帐号如何配置私信自动防回复机器人。

效果参考新浪微博:Zihao博客  欢迎私信骚扰。


 

一)申请注册成为新浪微博开发者。

申请方式参考:如何申请成为新浪微博开发者


二)申请图灵机器人api或者其他自动回复的api。网站:http://www.tuling123.com/

申请完成以后。记住自己的API KEY


三)根据自己的apikey。修改以下两个我现在使用的自动回复脚本。

1、CallbackDemo.php

<?php//接口要求返回的字符串需要是utf8编码。header( 'Content-type: text/html; charset=utf-8' );//加载SDKrequire_once 'CallbackSDK.php';//设置app_key对应的app_secretdefine("APP_SECRET", "fa4c7530210c932e312a0c78e63611da");//初始化SDK$call_back_SDK = new CallbackSDK();$call_back_SDK->setAppSecret(APP_SECRET);//首次验证url时会有'echostr'参数,后续推送消息时不再有'echostr'字段//若存在'echostr'说明是首次验证,则返回'echostr'的内容。if (isset($_GET["echostr"])) { die($_GET["echostr"]);}//处理开放平台推送来的消息,首先获取推送来的数据.$post_msg_str = $call_back_SDK->getPostMsgStr();/** * 设置接口默认返回值为空字符串。 * 请注意数据编码类型。接口要求返回的字符串需要是utf8编码 * 需要说明的是开放平台判断推送成功的标志是接口返回的http状态码, * 只要应用的接口返回的状态为200就会认为消息推送成功,如果http状态码不为200则会重试,共重试3次。 */$str_return = '';if (!empty($post_msg_str)) { //sender_id为发送回复消息的uid,即蓝v自己 $sender_id = $post_msg_str['receiver_id']; //receiver_id为接收回复消息的uid,即蓝v的粉丝 $receiver_id = $post_msg_str['sender_id']; //回复text类型的消息示例。 $keyword= $post_msg_str['text']; //图灵API $apiKey = "6c272f21787571a5ae473cb52910c5de"; $apiURL = "http://www.tuling123.com/openapi/api?key=KEY&info=INFO"; // 设置报文头, 构建请求报文 $reqInfo = $keyword; $url = str_replace("INFO", $reqInfo, str_replace("KEY", $apiKey, $apiURL)); $res =file_get_contents($url); $result = json_decode($res); $jiaoyan=$result->{'code'}; switch($jiaoyan){ case "200000": $data_type = "text"; $wz=$result->{'text'}; $lj=$result->{'url'}; $xx=$wz.$lj; $data = $call_back_SDK->textData("$xx"); break; case "302000": //$data_type = "text"; //$lb=$result->{'list'}; //$xx=var_export ($lb, TRUE); //$data = $call_back_SDK->textData("$xx"); $data_type = "articles"; $length = count($result['list']) > 9 ? 9 :count($result['list']); for($i= 0;$i< $length;$i++){ $articles [$i] = array ( 'display_name' => $result['list'][$i]['article'], 'summary' => $result['list'][$i]['article'], 'image' => $result['list'][$i]['icon'], 'url' => $result['list'][$i]['detailurl'] ); } $data = $call_back_SDK->articleData($articles); break; case "40001": $data_type = "text"; $xx="(>﹏<)我累了,需要休息一下。"; $data = $call_back_SDK->textData("$xx"); break; case "40002": $data_type = "text"; $xx="(>﹏<)我累了,需要休息一下。"; $data = $call_back_SDK->textData("$xx"); break; case "40003": $data_type = "text"; $xx="(>﹏<)我累了,需要休息一下。"; $data = $call_back_SDK->textData("$xx"); break; case "40004": $data_type = "text"; $xx="(>﹏<)我累了,需要休息一下。"; $data = $call_back_SDK->textData("$xx"); break; case "40005": $data_type = "text"; $xx="(>﹏<)我累了,需要休息一下。"; $data = $call_back_SDK->textData("$xx"); break; case "40006": $data_type = "text"; $xx="(>﹏<)我累了,需要休息一下。"; $data = $call_back_SDK->textData("$xx"); break; case "40007": $data_type = "text"; $xx="(>﹏<)我累了,需要休息一下。"; $data = $call_back_SDK->textData("$xx"); break; default: $data_type = "text"; $xx=$result->{'text'}; $data = $call_back_SDK->textData("$xx"); } $str_return = $call_back_SDK->buildReplyMsg($receiver_id, $sender_id, $data, $data_type);}echo json_encode($str_return);

2.CallbackSDK.php

<?php class CallbackSDK { private $app_secret = ""; /** * 设置app_key对应的app_secret。 * @param $app_secret */ public function setAppSecret($app_secret) { $this->app_secret = "fa4c7530210c932e312a0c78e63611da"; } /** * 获取推送来的的数据 * 必须使用 $GLOBALS['HTTP_RAW_POST_DATA']方法获取post过来的原始数据来解析. * @return mixed */ public function getPostMsgStr() { return json_decode($GLOBALS['HTTP_RAW_POST_DATA'], true); } /** * 验证签名 * @param $signature * @param $timestamp * @param $nonce * @return bool */ function checkSignature($signature, $timestamp, $nonce) { $tmpArr = array($this->app_secret, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = sha1(implode($tmpArr)); if ($tmpStr == $signature) { return true; } else { return false; } } /** * 组装返回数据 * @param $receiver_id * @param $sender_id * @param $data * @param $type * @return array */ function buildReplyMsg($receiver_id, $sender_id, $data, $type) { return $msg = array( "sender_id" => $sender_id, "receiver_id" => $receiver_id, "type" => $type, //data字段需要进行urlencode编码 "data" => urlencode(json_encode($data)) ); } /** * 生成text类型的回复消息内容 * @param $text * @return array */ function textData($text) { return $data = array("text" => $text); } /** * 生成article类型的回复消息内容 * @param $article * @return array */ function articleData($articles) { return $data = array( 'articles' => $articles ); } /** * 生成position类型的回复消息内容 * @param $longitude * @param $latitude * @return array */ function positionData($longitude, $latitude) { return $data = array( "longitude" => $longitude, "latitude" => $latitude ); } }

 


三)修改完成以后,将两个脚本上传至服务器,点击微博主页--管理中心---粉丝服务---开发者中心---使用粉丝服务平台接口进行开发

设置的url为:CallbackDemo.php

APPKEY:为第一步申请成为开发者时,创建应用的appkey(不是机器人的appkey)

access_token:同上

配置完成,如果代码无误。机器人则生效。


完。

附赠小白福利。实在配置不出正确的可以直接使用我现成的服务器配置信息。

配置微博私信智能自动回复机器人

配置微博私信智能自动回复机器人

服务器配置(用于接收用户信息) 修改

URL:http://www.zihao123.com/CallbackDemo.php

APPKEY:3218656246

access_token:2.00RypELC7WJpVDbb45ae72a26vsjrC

应用名称:ZihaoBlog

 

输入正文底部广告代码(非移动端)
输入评论上方广告代码(非移动端)

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

目前评论:101   其中:访客  2   博主  0

    • 江夏离 江夏离 5

      就是喜欢你的文章 没办法

      • 江夏离 江夏离 5

        就是喜欢你的文章 没办法