Просмотр исходного кода

using the originalCustomising receiver.

kaori 5 лет назад
Родитель
Сommit
4f7c9891d7
1 измененных файлов с 21 добавлено и 27 удалено
  1. 21 27
      src/server/routes/apiv3/slack-bot.js

+ 21 - 27
src/server/routes/apiv3/slack-bot.js

@@ -3,16 +3,16 @@ const { EventEmitter } = require('events');
 const { createServer } = require('http');
 const express = require('express');
 
-const { App, ExpressReceiver } = require('@slack/bolt');
+const { App } = require('@slack/bolt');
 
 const router = express.Router();
-const receiver = new ExpressReceiver({ signingSecret: process.env.SLACK_SIGNING_SECRET });
+
 
 module.exports = (crowi) => {
 
   router.get('/', async(req, res) => {
 
-    class simpleReceiver extends EventEmitter {
+    class OriginalReceiverClass extends EventEmitter {
 
       constructor(signingSecret, endpoints) {
         super();
@@ -28,18 +28,18 @@ module.exports = (crowi) => {
         this.bolt = app;
       }
 
-      // start(port) {
-      //   return new Promise((resolve, reject) => {
-      //     try {
-      //       this.server.listen(port, () => {
-      //         resolve(this.server);
-      //       });
-      //     }
-      //     catch (error) {
-      //       reject(error);
-      //     }
-      //   });
-      // }
+      start(port) {
+        return new Promise((resolve, reject) => {
+          try {
+            this.server.listen(port, () => {
+              resolve(this.server);
+            });
+          }
+          catch (error) {
+            reject(error);
+          }
+        });
+      }
 
       stop() {
         return new Promise((resolve, reject) => {
@@ -55,24 +55,18 @@ module.exports = (crowi) => {
 
     }
 
-    res.send('iii');
+    const receiver = new OriginalReceiverClass(process.env.SLACK_SIGNING_SECRET, '/');
 
     const app = new App({
       token: process.env.SLACK_BOT_TOKEN,
       receiver,
     });
 
-    // app.post('/postMessage', async(req, res) => {
-    //   res.send('iii');
-    // });
-
-    // app.event('message', async({ event, client }) => {
-    //   // Do some slack-specific stuff here
-    //   await client.chat.postMessage({
-    //     channel: 'growi_bot',
-    //     text: 'hiiii',
-    //   });
-    // });
+    // TODO: customising event method
+    app.event('message', async({ event, client }) => {
+      // Do some slack-specific stuff here
+      await client.chat.postMessage('hogehoge');
+    });
   });