【微信开发|PHP】设置关注自动回复,关键词自动回复。
一、设置公众平台服务器配置
二、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】设置关注自动回复,关键词自动回复。相关推荐
- python登录并关注公众号_python微信公众号之关注公众号自动回复
我们知道一旦使用开发者模式,我们就无法使用公众号平台中的自动回复功能,也就是关注自动回复功能只有自己写才可以. 如图所示,我们无法直接使用此功能. 那么接着上一个博客,我们完成了关键词自动回复功能,博 ...
- 海外微信公众号被关注后不能自动回复消息的解决方案
海外版微信 有过相关业务联系的人或许知道,微信公众平台存在两个版本:国内版和海外版.而这两个版本的功能是不一样的.看看对比图,海外版连最基本的 "被关注回复" 和 "收到 ...
- python 公众号 自动回复_python微信公众号之关注公众号自动回复
我们知道一旦使用开发者模式,我们就无法使用公众号平台中的自动回复功能,也就是关注自动回复功能只有自己写才可以. 如图所示,我们无法直接使用此功能. 那么接着上一个博客,我们完成了关键词自动回复功能,博 ...
- 微信公众号添加关注后自动回复图文信息(素材)
公众号在被添加关注后其实不仅可以回复单纯的文字,还有一个效果更好的方式是直接回复图文,在图文信息中传达你的感谢和说明一些公众号的情况.那么微信公众号添加关注后怎么自动回复图文信息?下面小编就为大家介绍 ...
- 免费的微信小程序客服消息自定义关键词自动回复管理系统
源码名称:微信小程序客服消息自定义关键词回复管理系统 框架版本:laravel5.8,和thinkphp类似的框架,会thinkphp就会laravel. 适用范围:二次开发,独立部署,客服自动回复 ...
- 微信开发 事件 trim subscribe
今天 学习微信开发 学习到 关注事件 $event = $postObj->Event;if(trim($event) === "subscribe"){$msgType = ...
- 微信及企业微信内嵌浏览器内核信息及H5跑分数据-企业微信开发
加我微信li570467731,拉你进二百多人企业微信开发同行群(文末有二维码). 企业微信开发三部曲: <企业微信应用开发概述篇(免费)>已完结: <企业微信开发第三方应用开发篇& ...
- java实现微信小程序客服功能开发,后台接受用户发送消息实现关键词自动回复
最近做了一个小程序中间用到了小程序客服功能,主要实现采集用户提问,并且针对关键词自动回复及手动回复.中间踩过很多坑,所也现在记录下来提供给大家. 准备 首先准备一个小程序,配置好域名,左边菜单栏目点击 ...
- php 公众号验证回调方法_微信公众号关键词自动回复设置方法!
什么是公众号关键词自动回复? 在微信公众号平台设置关键词自动回复,可以通过添加规则,关注/订阅的用户发送的消息内容如果是你设置的关键字,即可以实现自动回复预先设置好的内容. 关键字自动回复设置方法: ...
最新文章
- python set list str转换
- Zookeeper的典型应用场景(2)
- 一体化住户调查_曲麻莱县2020年城乡一体化住户调查表彰会暨年报部署会
- 彰显城市等级的最典型代表,商业综合体城市PSD海报素材
- android listview 分页
- Chrome历史版本安装包下载
- VDownloader(网页视频下载软件)官方正式版V5.0.4113 | 油管视频下载神器 | 网页视频怎么下载到本地视频?
- win10磁盘使用率100%的解决方法
- QT添加图标/任务栏样式记录
- 发那科机器人GI分配_发那科机器人IO信号的种类与常用信号的分配
- JVM优化之 -Xss -Xms -Xmx -Xmn 参数设置
- 170504_(读书笔记)ST7920驱动12864液晶模块学习
- 使用ffmpeg用图片批量合成抖音卡点短视频
- Newcoder Wannafly13 B Jxy军训(费马小定理、分数在模意义下的值)
- 虾皮规模毁约、毁 offer,操作太离谱了...
- flex布局侧轴(交叉轴)对齐方式
- 计算机网络设备装配调试员高级,计算机及外部设备装配调试员
- 【思维进阶】专业化生存-用你的优势来赚钱
- 混合整数规划MIP/线性规划LP+python(ortool库)实现 附代码
- 通用gadget详解
热门文章
- 每日一问 --发信机和收信机对信号做了那些处理?
- 七招教你如何取好极具吸引力的文案标题
- 苏州企业注册商标需要提前做好哪些工作?
- 基于VS+Opencv2.4.10的微信跳一跳辅助工具
- 前段JavaScript学习---狂神说java笔记
- ESD:“蓝灯“精灵如何对抗27KV空气式放电
- Doug Lea是谁?谁知道
- 金蝶K/3 固定置产相关SQL语句
- ZBrush教程(一):常用笔刷安装及运用
- 中南网络教育计算机基础在线作业二,《计算机应用基础》2(G)在线作业答案