API Docs for: 1.0.0
Show:

File: app/worker.js

const UserCommandHandler = require('./UserCommand/user_command_handler');
const HandlerFabric = require('./Handler/handler_fabric');
const VK = require('vk-node-sdk');
const apiai = require('apiai');
const CONFIG = require(process.env.CONFIG);
let dialogflow = apiai(CONFIG.DIALOGFLOW_CLIENT_ID);
const logger = require('./logger').get();
/**
 * Функция обработки команды от пользователя
 * с последующей отправкой ответа в чат вк.
 * @module worker.js
 * @class onResponse
 * @constructor
 * @param {number} [user_id] id пользователя в вк.
 * @param {string} user_name
 * @param {Object} [response] ответ от dialogflow.
 */
function onResponse(user_id,user_name,response) {
    let uch = new UserCommandHandler();
    uch.calculate(user_id,user_name,response);
}

/**
 * Функция обработки ошибки
 * с последующей отправкой ошибки в чат вк.
 * @module worker.js
 * @class onErrorMessage
 * @constructor
 * @param {number} [user_id] id пользователя в вк.
 * @param {text}  [error] ответ от dialogflow.
 */
function onErrorMessage(user_id,error) {
    logger.error(`module: ${module} : ${error}`);
    let message = {
        user_id: user_id,
        message: 'у меня ошибки какие-то: '+ JSON.stringify(error)
    };
    process.send(message);
}

/**
 * Принимает сообщение от главного процесса.
 * Получает от HandlerFabric обработчик
 * согласно типу входящего сообщения, затем
 * вызывает его выполнение
 * @module worker.js
 * @class process.on
 * @param {callback} [listener]
 * @uses HandlerFabric
 *
 */
process.on('message', task => {
    let message = task.message;
    let handler = HandlerFabric.get(message);
    handler.setDialogflow(dialogflow);
    let bindResponse = (response) => {
        return onResponse(message.user_id,message.user_name,response);
    };

    let bindError = (response) => {
        return onErrorMessage(message.user_id,response);
    };
    handler.execute(`vk${message.user_id}`,bindResponse,bindError);
});