Viber Chatbot-创建一个回声机器人

时间:2019-02-28 12:07:00

标签: node.js chatbot viber

我正在关注Viber Node.JS Bot文档,并创建了一个回声机器人,该机器人将向用户重复发送消息。但这不起作用,并且该漫游器不会回复我的消息。这是代码:

'use strict';

const ViberBot = require('viber-bot').Bot;
const BotEvents = require('viber-bot').Events;

const bot = new ViberBot({
    authToken: "api-key",
    name: "Override API",
    avatar: "https://cdn3.iconfinder.com/data/icons/customer-support-7/32/40_robot_bot_customer_help_support_automatic_reply-512.png" // It is recommended to be 720x720, and no more than 100kb.
});

// Perfect! Now here's the key part:
bot.on(BotEvents.MESSAGE_RECEIVED, (message, response) => {
    // Echo's back the message to the client. Your bot logic should sit here.
    response.send(message);
});


// Wasn't that easy? Let's create HTTPS server and set the webhook:
const https = require('https');
const port = process.env.PORT || 8080;

// Viber will push messages sent to this URL. Web server should be internet-facing.
const webhookUrl = "https://webhook.site/09f0b45e-1ad8-466c-9441-e5edb3d783e3";

https.createServer(bot.middleware()).listen(port, () => bot.setWebhook(webhookUrl));

1 个答案:

答案 0 :(得分:0)

尝试一下:

const webhookUrl = "https://webhook.site/09f0b45e-1ad8-466c-9441-e5edb3d783e3";

app.use('/viber/webhook', bot.middleware());

app.listen(port, () => {
    console.log(`Application running on port: ${port}`);
    bot.setWebhook(`${webhookUrl}/viber/webhook`).catch(error => {
        console.log('Can not set webhook on following server. Is it running?');
        console.error(error);
        process.exit(1);
    });
});

代替:

https.createServer(bot.middleware()).listen(port, () => bot.setWebhook(webhookUrl));

Source