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

use the receiver instance in bolt.js

kaori 5 лет назад
Родитель
Сommit
aa18822c26
2 измененных файлов с 20 добавлено и 10 удалено
  1. 11 9
      src/server/routes/apiv3/slack-bot.js
  2. 9 1
      src/server/service/bolt.js

+ 11 - 9
src/server/routes/apiv3/slack-bot.js

@@ -5,19 +5,21 @@ const router = express.Router();
 
 
 module.exports = (crowi) => {
+  const { BoltService } = crowi;
 
   router.get('/', async(req, res) => {
+    const app = BoltService.getBoltAppInstance();
 
     // TODO: improve event method
-    // app.event('message', async({ event, client }) => {
-    //   // Do some slack-specific stuff here
-    //   await client.chat.postMessage('hogehoge');
-    // });
-
-    // (async() => {
-    //   await app.start(8080);
-    //   console.log('app is running');
-    // })();
+    app.event('message', async({ event, client }) => {
+      // Do some slack-specific stuff here
+      await client.chat.postMessage('hogehoge');
+    });
+
+    (async() => {
+      await app.start(8080);
+      console.log('app is running');
+    })();
   });
 
 

+ 9 - 1
src/server/service/bolt.js

@@ -7,8 +7,16 @@ const { App } = require('@slack/bolt');
  */
 class BoltService extends EventEmitter {
 
+  constructor(crowi) {
+    super();
+    this.crowi = crowi;
+  }
+
+
   getBoltAppInstance() {
-    const receiver = new BoltService(process.env.SLACK_SIGNING_SECRET, '/');
+    const { BoltRecieverService } = this.crowi;
+
+    const receiver = new BoltRecieverService(process.env.SLACK_SIGNING_SECRET, '/');
 
     const appInstance = new App({
       token: process.env.SLACK_BOT_TOKEN,