proper last version

This commit is contained in:
Jakub Klena 2024-05-24 08:42:21 +02:00
parent 9e2ab3ccea
commit 6d468acd6f

View file

@ -58,6 +58,8 @@ const logger = log4js.getLogger();
const monitor = log4js.getLogger("monitorLogs"); const monitor = log4js.getLogger("monitorLogs");
exports.install = function(instance) { exports.install = function(instance) {
var can = false;
process.on('uncaughtException', function (err) { process.on('uncaughtException', function (err) {
errLogger.error('uncaughtException:', err.message); errLogger.error('uncaughtException:', err.message);
errLogger.error(err.stack); errLogger.error(err.stack);
@ -65,42 +67,45 @@ exports.install = function(instance) {
}); });
instance.on('data', function(data) { instance.on('data', function(data) {
let str = String(data); // Ensuring data get converted to string if (!can) return;
let message = `{
channel: ${instance.options.slack_channel}, let str = String(data.data); // Ensuring data get converted to string
username: ${instance.options.bot_name}, let message = {
icon_emoji: ${instance.options.bot_icon}, 'channel': instance.options.slack_channel,
text: ${str} 'username': instance.options.bot_name,
}`; 'icon_emoji': instance.options.bot_icon,
'text': str
};
let headers = { let headers = {
'Content-type': `application/json`, 'Content-type': `application/json`,
'Authorization': `Bearer ${instance.options.api_key}` 'Authorization': `Bearer ${instance.options.api_key}`
}; };
if (F.is4) { if (F.is4) {
instance.send2("is F4");
let opt = { let opt = {
'method': 'post', 'method': 'post',
'url': 'https://slack.com/api/chat.postMessage', 'url': 'https://slack.com/api/chat.postMessage',
'headers': headers, 'headers': headers,
'cookies': null,
'body': JSON.stringify(message), 'body': JSON.stringify(message),
'type': 'json', 'type': 'json',
'callback': function(err, response) { 'callback': function(err, response) {
if (response && !err) { if (response && !err) {
var msg = { data: response.body, status: response.status, headers: response.headers, host: response.host, cookies: response.cookies }; var msg = { data: response.body, status: response.status, headers: response.headers, host: response.host, cookies: response.cookies };
instance.send2(msg); instance.send2(msg);
} else if (err) } else if (err) {
errLogger.error('Slack post failed - err:', err, '\n - response was:', response); errLogger.error('Slack post failed - err:', err, '\n - response was:', response);
instance.error(err, response); instance.error(err, response);
} }
}
}; };
instance.send2(opt);
REQUEST(opt); REQUEST(opt);
} else { } else {
instance.send2("is NOT F4");
U.request('https://slack.com/api/chat.postMessage', ['json', 'post'], JSON.stringify(message), function(err, data, status, headers, host) { U.request('https://slack.com/api/chat.postMessage', ['json', 'post'], message, function(err, data, status, headers, host) {
console.log("err: ", err);
console.log("resp: ", response);
if (response && !err) { if (response && !err) {
response.data = { data: data, status: status, headers: headers, host: host }; response.data = { data: data, status: status, headers: headers, host: host };
instance.send2(response); instance.send2(response);
@ -111,4 +116,13 @@ exports.install = function(instance) {
}, null, headers); }, null, headers);
} }
}); });
instance.reconfigure = function() {
var options = instance.options;
can = options.slack_channel && options.bot_name && options.bot_icon && options.api_key ? true : false;
instance.status(can ? '' : 'Not configured', can ? undefined : 'red');
};
instance.on('options', instance.reconfigure);
instance.reconfigure();
} }