一、设置公众平台服务器配置

二、do it

<?php

session_start();
ini_set("session.bug_compat_42","Off");
traceHttp();

define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();

if (isset($_GET['echostr'])) {
    $wechatObj->valid();
}else{
    $wechatObj->responseMsg();
}

class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];
        if($this->checkSignature()){
            echo $echoStr;
            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;
        }
    }

# 关键词自动回复
    public function responseMsg()
    {
        $postStr = $GLOBALS["HTTP_RAW_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>";
            $msgType = "text";

//判断是否为关注
    if($postObj->Event=="subscribe")

{

$contentStr="欢迎关注奥!";

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                         echo $resultStr;
}
//判断是否为用户发送消息
if(!empty( $keyword )){

switch($keyword){
case 1:
$contentStr="1111111";
break;

case 2:
$contentStr="22222222";
break;

case 3:
$contentStr="333333333";
break;

case 4:
$contentStr="444444444";
break;

default:
$contentStr="i don't know!";
break;
}

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                    echo $resultStr;

}else{

echo "";

}

}else {
        echo "";
        exit;
        }
    }
}

function traceHttp()
{
    logger("\n\nREMOTE_ADDR:".$_SERVER["REMOTE_ADDR"].(strstr($_SERVER["REMOTE_ADDR"],'101.226')? " FROM WeiXin": "Unknown IP"));
    logger("QUERY_STRING:".$_SERVER["QUERY_STRING"]);
}
function logger($log_content)
{
    if(isset($_SERVER['HTTP_APPNAME'])){   //SAE
        sae_set_display_errors(false);
        sae_debug($log_content);
        sae_set_display_errors(true);
    }else{ //LOCAL
        $max_size = 500000;
        $log_filename = "log.xml";
        if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}
        file_put_contents($log_filename, date('Y-m-d H:i:s').$log_content."\r\n", FILE_APPEND);
    }
}

?>

直接拿走上传服务器就可以用了,自动回复词库我会慢慢更新

【微信开发|PHP】设置关注自动回复,关键词自动回复。相关推荐

  1. python登录并关注公众号_python微信公众号之关注公众号自动回复

    我们知道一旦使用开发者模式,我们就无法使用公众号平台中的自动回复功能,也就是关注自动回复功能只有自己写才可以. 如图所示,我们无法直接使用此功能. 那么接着上一个博客,我们完成了关键词自动回复功能,博 ...

  2. 海外微信公众号被关注后不能自动回复消息的解决方案

    海外版微信 有过相关业务联系的人或许知道,微信公众平台存在两个版本:国内版和海外版.而这两个版本的功能是不一样的.看看对比图,海外版连最基本的 "被关注回复" 和 "收到 ...

  3. python 公众号 自动回复_python微信公众号之关注公众号自动回复

    我们知道一旦使用开发者模式,我们就无法使用公众号平台中的自动回复功能,也就是关注自动回复功能只有自己写才可以. 如图所示,我们无法直接使用此功能. 那么接着上一个博客,我们完成了关键词自动回复功能,博 ...

  4. 微信公众号添加关注后自动回复图文信息(素材)

    公众号在被添加关注后其实不仅可以回复单纯的文字,还有一个效果更好的方式是直接回复图文,在图文信息中传达你的感谢和说明一些公众号的情况.那么微信公众号添加关注后怎么自动回复图文信息?下面小编就为大家介绍 ...

  5. 免费的微信小程序客服消息自定义关键词自动回复管理系统

    源码名称:微信小程序客服消息自定义关键词回复管理系统 框架版本:laravel5.8,和thinkphp类似的框架,会thinkphp就会laravel. 适用范围:二次开发,独立部署,客服自动回复 ...

  6. 微信开发 事件 trim subscribe

    今天 学习微信开发 学习到 关注事件 $event = $postObj->Event;if(trim($event) === "subscribe"){$msgType = ...

  7. 微信及企业微信内嵌浏览器内核信息及H5跑分数据-企业微信开发

    加我微信li570467731,拉你进二百多人企业微信开发同行群(文末有二维码). 企业微信开发三部曲: <企业微信应用开发概述篇(免费)>已完结: <企业微信开发第三方应用开发篇& ...

  8. java实现微信小程序客服功能开发,后台接受用户发送消息实现关键词自动回复

    最近做了一个小程序中间用到了小程序客服功能,主要实现采集用户提问,并且针对关键词自动回复及手动回复.中间踩过很多坑,所也现在记录下来提供给大家. 准备 首先准备一个小程序,配置好域名,左边菜单栏目点击 ...

  9. php 公众号验证回调方法_微信公众号关键词自动回复设置方法!

    什么是公众号关键词自动回复? 在微信公众号平台设置关键词自动回复,可以通过添加规则,关注/订阅的用户发送的消息内容如果是你设置的关键字,即可以实现自动回复预先设置好的内容. 关键字自动回复设置方法: ...

最新文章

  1. python set list str转换
  2. Zookeeper的典型应用场景(2)
  3. 一体化住户调查_曲麻莱县2020年城乡一体化住户调查表彰会暨年报部署会
  4. 彰显城市等级的最典型代表,商业综合体城市PSD海报素材
  5. android listview 分页
  6. Chrome历史版本安装包下载
  7. VDownloader(网页视频下载软件)官方正式版V5.0.4113 | 油管视频下载神器 | 网页视频怎么下载到本地视频?
  8. win10磁盘使用率100%的解决方法
  9. QT添加图标/任务栏样式记录
  10. 发那科机器人GI分配_发那科机器人IO信号的种类与常用信号的分配
  11. JVM优化之 -Xss -Xms -Xmx -Xmn 参数设置
  12. 170504_(读书笔记)ST7920驱动12864液晶模块学习
  13. 使用ffmpeg用图片批量合成抖音卡点短视频
  14. Newcoder Wannafly13 B Jxy军训(费马小定理、分数在模意义下的值)
  15. 虾皮规模毁约、毁 offer,操作太离谱了...
  16. flex布局侧轴(交叉轴)对齐方式
  17. 计算机网络设备装配调试员高级,计算机及外部设备装配调试员
  18. 【思维进阶】专业化生存-用你的优势来赚钱
  19. 混合整数规划MIP/线性规划LP+python(ortool库)实现 附代码
  20. 通用gadget详解

热门文章

  1. 每日一问 --发信机和收信机对信号做了那些处理?
  2. 七招教你如何取好极具吸引力的文案标题
  3. 苏州企业注册商标需要提前做好哪些工作?
  4. 基于VS+Opencv2.4.10的微信跳一跳辅助工具
  5. 前段JavaScript学习---狂神说java笔记
  6. ESD:“蓝灯“精灵如何对抗27KV空气式放电
  7. Doug Lea是谁?谁知道
  8. 金蝶K/3 固定置产相关SQL语句
  9. ZBrush教程(一):常用笔刷安装及运用
  10. 中南网络教育计算机基础在线作业二,《计算机应用基础》2(G)在线作业答案