正在尝试设置viber网络挂钩。我已经有了一个快速服务器设置。因此,我只是将机器人添加为中间件。一切都已找到,服务器已启动并运行。
一旦调用了bot.setWebhook(process.env.VB_WEBHOOK_URL),它就会抛出错误--> The "data" argument must be one of type string, TypedArray, or DataView. Received type object
当尝试在本地服务器配置中使用ngrok时,它工作得很好。在实时服务器配置中设置webhook时的唯一问题。请检查下面的代码
const path = require("path");
const publicPath = path.join(__dirname, "../public");
const express = require("express");
const http = require("http");
const env = require("dotenv");
const bodyParser = require("body-parser");
env.config({
path: path.resolve(__dirname + "/.env")
});
const app = express();
const server = http.createServer(app);
const adminActionRoute = require('./routes/admin');
app.use(express.static(publicPath));
app.use(bodyParser.json({ verify: verifyRequestSignature }));
app.use(bodyParser.urlencoded({ limit: '200mb', extended: true }));
app.use('/api/admin', adminActionRoute);
const viberBot = require('../viber_chat/utils/bot')
app.use('/viber/webhook', viberBot.middleware())
server.listen(5000, () => {
viberBot.setWebhook(process.env.VB_WEBHOOK_URL);
console.log("server starts at port 5000");
});
module.exports = server; //for testing '/viber_chat/utils/bot‘文件
require('dotenv').config();
const ViberBot = require('viber-bot').Bot;
const BotEvents = require('viber-bot').Events;
const logger = require('../utils/logger');
const bot = new ViberBot(logger, {
authToken: process.env.VB_API_KEY,
name: "Bot Name",
avatar: ""
});
bot.onSubscribe(response => {
});
bot.on(BotEvents.CONVERSATION_STARTED, (response) => {
})
module.exports = bot;TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be one of type string, TypedArray, or DataView. Received type object
at Hmac.update (internal/crypto/hash.js:58:11)
at MessageValidator._calculateHmacFromMessage (/home/thettun/project_folder/funfun_viber/node_modules/viber-bot/lib/message/message-validator.js:19:54)
at MessageValidator.validateMessage (/home/thettun/project_folder/funfun_viber/node_modules/viber-bot/lib/message/message-validator.js:11:30)
at _app.use (/home/thettun/project_folder/funfun_viber/node_modules/viber-bot/lib/middleware.js:61:32)
at Layer.handle [as handle_request] (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/index.js:317:13)
at /home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/index.js:335:12)
at next (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/index.js:275:10)
at textParser (/home/thettun/project_folder/funfun_viber/node_modules/body-parser/lib/types/text.js:60:7)
at Layer.handle [as handle_request] (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/index.js:317:13)
at /home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/index.js:335:12)
at next (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/router/index.js:275:10)
at expressInit (/home/thettun/project_folder/funfun_viber/node_modules/express/lib/middleware/init.js:40:5)发布于 2019-12-19 06:29:36
https://stackoverflow.com/questions/58304866
复制相似问题