@lskjs/bots-plugin-notify
Version:
LSK.js plugin for @lskjs/bots module for telegram, slack, discord, whatsapp, twitter, instagram and vk bots creation
66 lines (58 loc) • 2.07 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.alertmanager = alertmanager;
exports["default"] = void 0;
var statuses = {
firing: '🔥',
warn: '❕',
resolved: '✅',
"default": '❓'
};
var getStatus = function getStatus() {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
status = _ref.status,
severity = _ref.severity;
return (severity === 'warn' ? statuses[status] : statuses[status]) || statuses["default"];
}; // const alertLog = ({ status, labels: { severity, alertname, instance }, annotations: { grafana, description } }) => (`\
// ${getStatus(status)} ${severity}: \`${alertname}\`
// ${instance}
// \`\`\`
// ${description}
// \`\`\`
// ${grafana ? `\n[grafana](${grafana})` : ''}\
// `);
var alertLog = function alertLog(_ref2, bot) {
var status = _ref2.status,
_ref2$labels = _ref2.labels,
severity = _ref2$labels.severity,
alertname = _ref2$labels.alertname,
instance = _ref2$labels.instance,
_ref2$annotations = _ref2.annotations,
grafana = _ref2$annotations.grafana,
description = _ref2$annotations.description;
var formatStatus = getStatus({
status: status,
severity: severity
});
var formatCode = bot.formatCode(alertname);
var formatDescription = bot.ignoreMd(description);
var formatLink = grafana ? "\n".concat(bot.formatLink('grafana', grafana)) : '';
return " ".concat(formatStatus, " ").concat(formatCode, "\n \n ").concat(formatDescription, "\n \n ").concat(formatLink, " ");
};
var alertsLog = function alertsLog(_ref3, bot) {
var alerts = _ref3.alerts;
return alerts.map(function (alert) {
return alertLog(alert, bot);
}).join('\n\n------\n\n');
};
function alertmanager(message, bot) {
if (this !== null && this !== void 0 && this.debug) this.log.trace('alertmanager.message', message);
return {
msg: alertsLog(message.meta, bot)
};
}
var _default = alertmanager;
exports["default"] = _default;
//# sourceMappingURL=AlertmanagerProvider.js.map
;