Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1294162
  • 博文数量: 932
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 10208
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-08 12:28
文章分类

全部博文(932)

文章存档

2021年(1)

2020年(134)

2019年(792)

2018年(5)

我的朋友

分类: 架构设计与优化

2019-08-25 22:43:30

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

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

本文实现的场景

您的订阅号粉丝向订阅号发送消息,会得到一个和发送消息一模一样的文字回复,并且在前面加上了“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如下:

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

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

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

阅读(818) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~