ユーザーからのフィードバックをSlackで受け取る
こういうやつを作りました。
Node.js用のSlack SDKを利用したら簡単にできました。
GitHub - slackapi/node-slack-sdk: Slack Developer Kit for Node.js
以下、Webhook URL発行前提の話です。
const IncomingWebhook = require('@slack/client').IncomingWebhook; const webhook = new IncomingWebhook(SLACK_WEBHOOK_URL); router.get('/send', (req, res) => { // ... new Promise((resolve, reject) => { webhook.send({ attachments: createAttachments({ id: '00001', name: '名前', text: '本文が入ります。本文が入ります。本文が入ります。本文が入ります。本文が入ります。', title: 'タイトル', }) }, (err, header, statusCode, body) => { if (err) { reject(err); } else { resolve('ok'); } }) }) .then((result) => { res.json(result); }) .catch((err) => { // エラー処理 }); }); function createAttachments(params) { return [{ color: '#03A9F4', pretext: 'ユーザーからのフィードバックです', author_name: params.name, title: params.title, text: params.text, fields: [{ title: 'User ID', value: params.id }], ts: Math.floor(Date.now() / 1000) } ]; }