温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • web开发 > 
  • nodejs微信公众号开发之如何实现自动回复各种消息

nodejs微信公众号开发之如何实现自动回复各种消息

发布时间:2021-08-12 10:19:11 来源:亿速云 阅读:163 作者:小新 栏目: web开发

这篇文章主要介绍了nodejs微信公众号开发之如何实现自动回复各种消息,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1. 被动回复用户消息

当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。发送被动响应消息是对微信 服务器发过来消息的一次回复。

开发过程中如果遇到该公众号暂时无法提供服务,请稍后再试的情况,一般是由两个原因造成的:

  1. 开发者在5秒内未回复任何内容

  2. 开发者回复的数据异常,非xml格式,比如JSON数据

具体的消息规则可参看微信平台开发者文档:被动回复用户消息

2. 回复消息的实现

我们之前的关注自动回复是在weixin.js里面实现的,其他的消息回复也写在这个文件里面:

if(message.MsgType === 'event'){
  if(message.Event === 'subscribe'){
    if(message.EventKey) {
      console.log('扫描二维码关注:'+ message.EventKey +' '+ message.ticket);
    }
    this.body = '终于等到你,还好我没放弃';
  }else if(message.Event === 'unsubscribe'){
    this.body = '';
    console.log(message.FromUserName + ' 悄悄地走了...');
  }else if(message.Event === 'LOCATION'){
    this.body = '您上报的地理位置是:'+ message.Latitude + ',' + message.Longitude;
  }else if(message.Event === 'CLICK'){
    this.body = '您点击了菜单:'+ message.EventKey;
  }else if(message.Event === 'SCAN'){
    this.body = '关注后扫描二维码:'+ message.Ticket;
  }
}
else if(message.MsgType === 'text'){
  var content = message.Content;
  var reply = '你说的话:“' + content + '”,我听不懂呀';
  if(content === '1'){
    reply = '金刚:骷髅岛';
  }
  else if(content === '2'){
    reply = {
      type:'image',
      mediaId:'http://tu.23juqing.com/d/file/html/gndy/dyzz/2017-04-09/da9c7a64ab7df196d08b4b327ef248f2.jpg'
    }
  }
  else if(content === '3'){
    reply = [{
      title:'金刚.骷髅岛',
      description:'南太平洋上的神秘岛屿——骷髅岛。史上最大金刚与邪恶骷髅蜥蜴的较量。',
      picUrl:'http://tu.23juqing.com/d/file/html/gndy/dyzz/2017-04-09/da9c7a64ab7df196d08b4b327ef248f2.jpg',
      url:'http://www.piaohua.com/html/dongzuo/2017/0409/31921.html' //可下载观看喔
    }];
  }

  // ... 其他回复类型

  this.body = reply;
}

测试效果如图:

nodejs微信公众号开发之如何实现自动回复各种消息

3.说明:

发现输入数字2并没有回复相应的图片,是不是很奇怪?我们查看一下文档:

nodejs微信公众号开发之如何实现自动回复各种消息

文档中说明了MediaId属性是通过素材管理接口上传多媒体文件,得到的id,而不是我们直接给的网上图片的url链接。在图文消息中,是可以直接使用url链接的。所以我们下一步的工作就是实现素材管理的接口。

感谢你能够认真阅读完这篇文章,希望小编分享的“nodejs微信公众号开发之如何实现自动回复各种消息”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节
推荐阅读:
  1. 详解NodeJs开发微信公众号
  2. NodeJS怎么实现微信公众号关注后自动回复功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nodejs
  • 上一篇新闻:
    openstack连接ceph不成功怎么办
  • 下一篇新闻:
    怎么用HTML5 canvas画五角星

猜你喜欢

  • mybatis设置数据源的步骤是什么
  • java声明集合的方式有哪些
  • python怎么创建docx文档
  • c++随机数的实现方式是什么
  • php中round函数的作用是什么
  • php ceil函数的使用方法是什么
  • c++随机数的应用场景有哪些
  • linux中怎么用sftp命令下载文件
  • JAVA怎么获取list重复对象
  • python怎么修改word字体颜色
最新资讯
  • 如何在Elixir中使用广播通知系统组件
  • 如何在Elixir中实现基于角色的访问控制
  • Elixir与其他函数式编程语言相比有哪些独特的特性
  • 如何在Elixir中实现乐观锁定机制
  • Elixir应用的内存优化技巧有哪些
  • 在Elixir中如何结合使用OTP和WebSockets构建实时应用
  • Elixir的宏系统有哪些高级用法
  • 如何在Elixir中优化长轮询
  • Elixir中的错误日志管理最佳实践是什么
  • 如何在Elixir中处理大规模并发连接
相关推荐
  • 详解nodejs微信公众号开发——3.封装消息响应模块
  • 详解nodejs微信公众号开发——2.自动回复
  • nodejs中怎么实现微信公众号开发
  • 微信开发之自动回复消息和客服消息、文本带链接跳转的示例分析
  • PHP微信开发之微信消息自动回复遇到的问题有哪些
  • .NET开发微信公众号之公众号消息怎么处理
  • PHP微信开发之如何实现文本自动回复功能
  • php如何实现微信公众号开发之文本消息自动回复
  • php如何实现微信公众号开发之语音消息识别
  • EasyWechat如何开发微信公众号自动回复

相关标签

angularjs autojs jsonpath jsonobject jsonpatch json方法 js使用 vue.config.js json.dumps() json.stringify mock.js js正则表达式 jquery.form.js pdfjs clipboard.js jointjs vue.js2.0 exif.js highlight.js qrcode.js
AI

PHP网站源码福田阿里店铺运营深圳营销网站民治网站排名优化观澜网站推广同乐网站优化沙井seo优化南澳网站推广沙井英文网站建设福田SEO按天计费同乐网站关键词优化木棉湾网站制作设计荷坳关键词排名包年推广永湖网站优化排名荷坳建站横岗网络广告推广南山网站优化排名横岗设计网站木棉湾网站设计丹竹头网站设计横岗seo优化石岩网站优化排名石岩建站深圳网站优化按天收费南联网站搜索优化平湖阿里店铺运营光明百搜词包丹竹头网站推广系统同乐seo南澳百度seo惠州网页制作歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化