UNPKG

@cliz/nobot

Version:
59 lines 2.04 kB
#!/usr/bin/env node "use strict"; 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