找不到机器人帐户令牌密钥、viber 机器人、node.js

问题描述

我对 node.js 和 stackoverflow 有点陌生,但是我在创建 viber 机器人时遇到了一些麻烦。使用此 https://chatbotslife.com/build-viber-bot-with-nodejs-a21487e5b65 创建了 viber API,但找不到将 API 放置在代码中的位置。

const ViberBot = require('viber-bot').Bot,BotEvents = require('viber-bot').Events,TextMessage = require('viber-bot').Message.Text,express = require('express');
const app = express();

if (!process.env.BOT_ACCOUNT_TOKEN) {
  console.log('Could not find bot account token key.');
  return;
}
if (!process.env.EXPOSE_URL) {
  console.log('Could not find exposing url');
  return;
}

const bot = new ViberBot({
  authToken: process.env.BOT_ACCOUNT_TOKEN,name: "Quest Bot",avatar: "https://upload.wikimedia.org/wikipedia/commons/9/93/BirthdayQuest.jpg"
});
bot.on(BotEvents.SUBSCRIbed,response => {
  response.send(new TextMessage(`Hi there ${response.userProfile.name}. I am ${bot.name}! Feel free to ask me anything.`));
});
bot.on(BotEvents.MESSAGE_RECEIVED,(message,response) => {
  response.send(new TextMessage(`Message received.`));
});
const port = process.env.PORT || 3000;
app.use("/viber/webhook",bot.middleware());
app.listen(port,() => {
  console.log(`Application running on port: ${port}`);
  bot.setWebhook(`${process.env.EXPOSE_URL}/viber/webhook`).catch(error => {
    console.log('Can not set webhook on following server. Is it running?');
    console.error(error);
    process.exit(1);
  });
});

解决方法

首先尝试使用单引号'在此处包含您的 API 密钥'创建一个变量

const bot_account = 'API KEY'

然后初始化你的机器人

 const bot = new ViberBot({
      authToken: bot_account,name: "Quest Bot",avatar: "https://upload.wikimedia.org/wikipedia/commons/9/93/BirthdayQuest.jpg"
    });

如果您的系统设置了 PATH 变量,您可以通过 process.env.PATH 访问它,您可以使用它来检查二进制文件所在的位置,并在需要时对它们进行外部调用。 source

在你的情况下没有路径,所以尝试通过变量分配。