首页 文章

从Viber bot发送消息到botbuilder-viber时出错ERR_INVALID_ARG_TYPE

提问于
浏览
0

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 回答

  • 0

    在此连接器开始工作后,我仅将bodyparser添加到特定路由 .

相关问题