Передача сущности бота в соседний скрипт

Появилась загвоздка при формировании некой архитектуры бота.
Есть два файла:

  • app.js - стартовый файл с инициализацией основных компонентов
  • commands.js - файл с ответами на запросы пользователя

app.js

const TelegramAPI = require('node-telegram-bot-api');
...
const bot = new TelegramAPI(token, {polling: true});
...
console.log(bot);
...
module.exports = {
    bot
}

commands.js

const { bot } = require("./app.js")

function answer()
{
    console.log(bot);

    return bot.sendMessage(...);
}

Проблема как раз в передаче сущности бота во второй скрипт. В первом случае лог показывает всю информацию о боте и все работает как надо. Во втором же файле, при попытке вывести информацию о боте, выбивает undefined. При попытке отправить сообщение error: [polling_error] {}.
Вопрос в том, как можно (возможно ли) передать сущность bot в другой файл и использовать ее?


Ответы (1 шт):

Автор решения: ksa

Пробуй вот такой вариант...

const TelegramAPI = require('node-telegram-bot-api');
...
const bot = new TelegramAPI(token, {polling: true});
...
console.log(bot);
...
const getBot = _ => bot
...
module.exports = {
    getBot
}

Ну и

const { getBot } = require("./app.js")

function answer()
{
    const bot = getBot()
    console.log(bot);

    return bot.sendMessage(...);
}
→ Ссылка