微信程序开发系列教程(二)微信订阅号+人工智能问答服务

我的前一篇文章微信程序开发系列教程(一)开发环境搭建 已经介绍了微信服务器的开发环境搭建。本文作为开发系列的第二篇文章,介绍如何给您的微信订阅号开发一个最简单的问答服务,非常好玩。

这个系列的完整代码在我的github上:

https://github.com/i042416/wechat

本文实现的场景

您的订阅号粉丝向订阅号发送消息,会得到一个和发送消息一模一样的文字回复,并且在前面加上了“Add by Jerry:”的前缀。

没有什么意思,对吧?因为现在这个订阅号的微信消息服务器是我们自己开发的了,因此在消息服务器上接收到粉丝发送的文本后,我们可以实现一些有趣的逻辑。比如调用一些人工智能的图灵API,同订阅号的粉丝进行聊天,像下面这样:

下面是详细步骤。

1. 打开我github项目里的server.js文件:

实现如下代码。这个server.js是整个消息服务器的入口了,routesEngine的作用是针对微信平台发送到消息服务器的不同请求,进行对应处理。当然具体实现在文件夹jerryapp/routes下面的index.js里。

var express = require('express');

var routesEngine = require('./jerryapp/routes/index.js');

var app = express();

routesEngine(app);

app.listen(process.env.PORT || 3000, function () {

console.log('Listening on port, process.cwd(): ' + process.cwd() );

});

2. 现在我们就开始实现index.js。当粉丝的文字请求发送到消息服务器时,调用自己实现的nodejs module "echoService"进行处理。

var request = require('request');

var echoService = require("../service/echo.js");

module.exports = function (app) {

app.route('/').post(function(req,res){

echoService(req, res);

});

};

打开echo.js看看实现:

从下图第6行能看到加在回复前的前缀"Add by Jerry:"。

具有人工智能的图灵服务

如果不想给您的订阅号粉丝回复呆板的"Add by Jerry:", 那就在index.js里把ecoService注释掉,用图灵API代替吧。如下图29行所示。

图灵API的调用实现位于tuning.js,实际上就是消费了一个通过RestFul API暴露出来的人工智能服务:

url如下:

www.tuling123.com/openapi/api?key=de4ae9269c7438c33de5806562a35cac&info=

我们只用把订阅号粉丝在微信App里发送的文本粘贴到上述url末尾,调用该API就能得到图灵API分析应答结果。以成都天气预报为例:

访问www.tuling123.com可以了解更多该图灵机器人的细节。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏日常学python

今天来认识下数据库

这是我的第七篇原创文章 爬了数据,只能放在记事本上?小的数据还是可以的,但是当你遇到较多的数据,放在记事本上就不是很好了,这时就需要用到数据库来存储了,那我们今...

371140
来自专栏顶级程序员

微软发布 Windows 命令行参考文档,涵盖超 250 项控制台命令

长久以来,许多人一直对各个版本的 Windows 控制台命令行不是很了解,更别提如何去使用了。显然,这件事主要归咎于文档的缺乏。

12830
来自专栏极乐技术社区

官方问答精选《一》提交审核时提供测试账密码

本系列是我觉得,应该整理一下,因为官方很多回答里其实是在补充官方文档的,十分值得收集并整理出来;我会不定期整理的,大概是2-3天左右,一周至少整理2次; 比如本...

20280
来自专栏北京马哥教育

榨干python性能之服务优化

初看这个标题,相信很多同学都笑了,python有性能可言么,呵呵哒...确实哦,python其实就是为了快速开发应用而出生的,虽然python的服务都以性能低...

36850
来自专栏Python小屋

Python+selenium+PhantomJS获取百度搜索结果真实链接地址

祝愿所有参加高考的孩子们都能超水平发挥,考出好成绩,考上理想的学校!也希望你们考上大学之后仍然保持高考前的学习劲头!

27830
来自专栏*坤的Blog

IntelliJ Idea 免费激活方法

2.3K20
来自专栏沈唁志

PHP程序猿必知:PHP网站应该怎么做优化

49440
来自专栏腾讯移动品质中心TMQ的专栏

TBS三方SDK自动化探索

对于非宿主的合作伙伴来说,在TBS接入环节,“共享和下载内核”的能力是最重要的,它从根本上决定着APP是否能够使用预期的X5内核提供服务。一旦出现问题,会导致无...

43200
来自专栏编程

榨干python性能之服务优化

Tips: 初看这个标题,相信很多同学都笑了,python有性能可言么,呵呵哒...确实哦,python其实就是为了快速开发应用而出生的,虽然python的服务...

238100
来自专栏lestat's blog

SoapClient的一点总结

近期在开发一个小型的酒店订房系统 ---- 应用场景:由于是在公司之前一个订房系统基础上进行修改,因此工作量不算大,但需要在系统中多个位置和酒店方提供的另一个...

31440

扫码关注云+社区

领取腾讯云代金券