我的前一篇文章**微信程式開發系列教程(一)**開發環境搭建 已經介紹了微信伺服器的開發環境搭建。本文作為開發系列的第二篇文章,介紹如何給您的微信訂閱号開發一個最簡單的問答服務,非常好玩。
這個系列的完整代碼在我的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可以了解更多該圖靈機器人的細節。