|
@@ -1,4 +1,8 @@
|
|
|
|
|
+
|
|
|
|
|
+const { EventEmitter } = require('events');
|
|
|
|
|
+const { createServer } = require('http');
|
|
|
const express = require('express');
|
|
const express = require('express');
|
|
|
|
|
+
|
|
|
const { App, ExpressReceiver } = require('@slack/bolt');
|
|
const { App, ExpressReceiver } = require('@slack/bolt');
|
|
|
|
|
|
|
|
const router = express.Router();
|
|
const router = express.Router();
|
|
@@ -7,19 +11,70 @@ const receiver = new ExpressReceiver({ signingSecret: process.env.SLACK_SIGNING_
|
|
|
module.exports = (crowi) => {
|
|
module.exports = (crowi) => {
|
|
|
|
|
|
|
|
router.get('/', async(req, res) => {
|
|
router.get('/', async(req, res) => {
|
|
|
- });
|
|
|
|
|
|
|
|
|
|
- const app = new App({
|
|
|
|
|
- token: process.env.SLACK_BOT_TOKEN,
|
|
|
|
|
- receiver,
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ class simpleReceiver extends EventEmitter {
|
|
|
|
|
+
|
|
|
|
|
+ constructor(signingSecret, endpoints) {
|
|
|
|
|
+ super();
|
|
|
|
|
+ this.app = express();
|
|
|
|
|
+ this.server = createServer(this.app);
|
|
|
|
|
+
|
|
|
|
|
+ for (const endpoint of endpoints) {
|
|
|
|
|
+ this.app.post(endpoint, this.requestHandler.bind(this));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ init(app) {
|
|
|
|
|
+ this.bolt = app;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- console.log('bbb');
|
|
|
|
|
|
|
+ // start(port) {
|
|
|
|
|
+ // return new Promise((resolve, reject) => {
|
|
|
|
|
+ // try {
|
|
|
|
|
+ // this.server.listen(port, () => {
|
|
|
|
|
+ // resolve(this.server);
|
|
|
|
|
+ // });
|
|
|
|
|
+ // }
|
|
|
|
|
+ // catch (error) {
|
|
|
|
|
+ // reject(error);
|
|
|
|
|
+ // }
|
|
|
|
|
+ // });
|
|
|
|
|
+ // }
|
|
|
|
|
|
|
|
- app.message('あ', async({ message, say }) => {
|
|
|
|
|
- await say('aaaaaa');
|
|
|
|
|
|
|
+ stop() {
|
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
|
+ this.server.close((error) => {
|
|
|
|
|
+ if (error) {
|
|
|
|
|
+ reject(error);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ resolve();
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ res.send('iii');
|
|
|
|
|
+
|
|
|
|
|
+ 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',
|
|
|
|
|
+ // });
|
|
|
|
|
+ // });
|
|
|
});
|
|
});
|
|
|
- console.log('ccc');
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
return router;
|
|
return router;
|
|
|
};
|
|
};
|