Problem in npm-module
https://www.npmjs.com/package/botbuilder-viber
Platform
操作系统:Ubuntu
节点版本:9.3.0
NPM版本:5.5.1 .
Code
var viber = require('botbuilder-viber');
var express = require('express');
var bodyParser = require('body-parser');
var viberOptions = {
Token: '***',
Name: '***',
AvatarUrl: '***'
}
var viberChannel = new viber.ViberEnabledConnector(viberOptions);
var expressApp = express();
expressApp.listen(process.env.port || process.env.PORT || 3978, function() {
console.log("Express server is running.");
});
expressApp.use(bodyParser.urlencoded({ extended: false }));
expressApp.use(bodyParser.json());
bot.connector(viber.ViberChannelId, viberChannel);
expressApp.use('/viber/webhook', viberChannel.listen());
Expected Behavior
没错
Actual Behavior
从我的viber bot发送消息时出错(每次重复两次) .
TypeError [ERR_INVALID_ARG_TYPE]:“data”参数必须是在MessageValidator._calculateHmacFromMessage(/ app / node_modules / viber-)的Hmac.update(internal / crypto / hash.js:53:11)中的字符串,TypedArray或DataView之一 . bot / lib / message / message-validator.js:17:54)在_app.use的MessageValidator.validateMessage(/app/node_modules/viber-bot/lib/message/message-validator.js:11:30)(/ app / node_modules / viber-bot / lib / middleware.js:61:32)在trim_prefix上的Layer.handle [as handle_request](/app/node_modules/express/lib/router/layer.js:95:5) app / node_modules / express / lib / router / index.js:317:13)在/app/node_modules/express/lib/router/index.js:284:7在Function.process_params(/ app / node_modules / express / lib) /router/index.js:335:12)在textParser的下一个(/app/node_modules/express/lib/router/index.js:275:10)(/ app / node_modules / body-parser / lib / types / text .js:60:7)在trim_prefix(/ app / node_modules / express / li)的Layer.handle [as handle_request](/app/node_modules/express/lib/router/layer.js:95:5) b / router / index.js:317:13)在/app/node_modules/express/lib/router/index.js:284:7在Function.process_params(/app/node_modules/express/lib/router/index.js) :335:12)at express(/app/node_modules/express/lib/router/index.js:275:10)at expressInit(/app/node_modules/express/lib/middleware/init.js:40:5)at at在trim_prefix(/app/node_modules/express/lib/router/index.js:317:13)的Layer.handle [as handle_request](/app/node_modules/express/lib/router/layer.js:95:5) /app/node_modules/express/lib/router/index.js:284:7在Function.process_params(/app/node_modules/express/lib/router/index.js:335:12)下一步(/ app / node_modules /表示/(/ app / node_modules / /) express / lib / router / layer.js:95:5)在/ app / node_modules / express / lib / router / index的trim_prefix(/app/node_modules/express/lib/router/index.js:317:13) . 在Function.process_params(/ app / node_modules / express / lib / router)的js:284:7 /index.js:335:12)下一步(/app/node_modules/express/lib/router/index.js:275:10)在Function.handle(/app/node_modules/express/lib/router/index.js) :174:3)
TypeError [ERR_INVALID_ARG_TYPE]:“data”参数必须是在MessageValidator._calculateHmacFromMessage(/ app / node_modules / viber-)的Hmac.update(internal / crypto / hash.js:53:11)中的字符串,TypedArray或DataView之一 . bot / lib / message / message-validator.js:17:54)在_app.use的MessageValidator.validateMessage(/app/node_modules/viber-bot/lib/message/message-validator.js:11:30)(/ app / node_modules / viber-bot / lib / middleware.js:61:32)在trim_prefix上的Layer.handle [as handle_request](/app/node_modules/express/lib/router/layer.js:95:5) app / node_modules / express / lib / router / index.js:317:13)在/app/node_modules/express/lib/router/index.js:284:7在Function.process_params(/ app / node_modules / express / lib) /router/index.js:335:12)在textParser的下一个(/app/node_modules/express/lib/router/index.js:275:10)(/ app / node_modules / body-parser / lib / types / text .js:60:7)在trim_prefix(/ app / node_modules / express / li)的Layer.handle [as handle_request](/app/node_modules/express/lib/router/layer.js:95:5) b / router / index.js:317:13)在/app/node_modules/express/lib/router/index.js:284:7在Function.process_params(/app/node_modules/express/lib/router/index.js) :335:12)at express(/app/node_modules/express/lib/router/index.js:275:10)at expressInit(/app/node_modules/express/lib/middleware/init.js:40:5)at at在trim_prefix(/app/node_modules/express/lib/router/index.js:317:13)的Layer.handle [as handle_request](/app/node_modules/express/lib/router/layer.js:95:5) /app/node_modules/express/lib/router/index.js:284:7在Function.process_params(/app/node_modules/express/lib/router/index.js:335:12)下一步(/ app / node_modules /表示/(/ app / node_modules / /) express / lib / router / layer.js:95:5)在/ app / node_modules / express / lib / router / index的trim_prefix(/app/node_modules/express/lib/router/index.js:317:13) . 在Function.process_params中的js:284:7(/app/node_modules/express/lib/router/index.js:335:12)at Function.handle(/ app/node_modules/express/lib/router/index.js:275:10)(/ app / node_modules /快递/ LIB /路由器/ index.js:174:3)
1 回答
在此连接器开始工作后,我仅将bodyparser添加到特定路由 .