| #!/usr/bin/env node |
| const { WebClient } = require('@slack/web-api'); |
| const { Command } = require('commander'); |
| const program = new Command(); |
| |
| program |
| .arguments('<message>') |
| .description( 'Sends a message to a slack channel.') |
| .option('-d, --debug', 'output extra debugging') |
| .option('-c, --channel <channel_id>', 'send message to slack channel', "dereko") |
| .parse(process.argv); |
| |
| const options = program.opts(); |
| if (options.debug) console.log(options); |
| |
| // An access token (from your Slack app or custom integration - xoxp, xoxb) |
| const token = process.env.SLACK_TOKEN; |
| |
| const web = new WebClient(token); |
| const conversationId = options.channel; |
| |
| (async () => { |
| // See: https://api.slack.com/methods/chat.postMessage |
| const res = await web.chat.postMessage({ channel: conversationId, text: program.args[0] }); |
| |
| // `res` contains information about the posted message |
| console.log('Message sent: ', res.ts); |
| })(); |