@cliz/nobot
Version:
Nobot CLI
59 lines • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cli_1 = require("@cliz/cli");
const nobot_1 = require("@znode/nobot");
(0, cli_1.createSingleCommandProgram)(__dirname, null, async (program) => {
program
.argument('title', 'title of the message', {
default: '',
})
.argument('message', 'message to send', {
default: '',
})
.option('-t, --title <title>', 'Specify message title, default: use env ACTION_TITLE or TITLE', {
default: '',
})
.option('-m, --message <message>', 'Specify message content, default: use env ACTION_MESSAGE or MESSAGE', {
default: '',
})
.option('--type <type>', 'Specify provider type, now support dingtalk,feishu,wecom,slack, env: TYPE', {
default: process.env.NOBOT_TYPE || 'feishu',
})
.option('-u, --url <url>', 'Specify provider url, env: URL', {
default: process.env.NOBOT_URL,
})
.action(async ({ args, options }) => {
const config = options;
const type = config.type;
const url = config.url;
let title = config.title;
let message = config.message;
if (args.title) {
title = args.title;
}
if (args.message) {
message = args.message;
}
if (!type) {
throw new Error(`Provider type is required`);
}
else if (!url) {
throw new Error(`Provider url is required`);
}
else if (!title) {
throw new Error(`message title is required`);
}
else if (!message) {
throw new Error(`message content is required`);
}
await (0, nobot_1.sendMessage)(type, url, {
title: title,
content: message
.replace(/\\n/g, '\n')
.replace(/(\$\{(.*)\})/, (all, _, key) => process.env[key] || '')
.split('\n'),
});
});
});
//# sourceMappingURL=cli.js.map