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

Merge pull request #4015 from weseek/feat/6710-6714-use-api-for-conversations

Feat/6710 6714 use api for conversations
Yuki Takei 4 лет назад
Родитель
Сommit
bd45e0f292
2 измененных файлов с 31 добавлено и 0 удалено
  1. 11 0
      src/server/routes/apiv3/slack-integration.js
  2. 20 0
      src/server/service/slackbot.js

+ 11 - 0
src/server/routes/apiv3/slack-integration.js

@@ -114,6 +114,9 @@ module.exports = (crowi) => {
         case 'help':
         case 'help':
           await crowi.slackBotService.helpCommand(client, body);
           await crowi.slackBotService.helpCommand(client, body);
           break;
           break;
+        case 'togetter':
+          await crowi.slackBotService.togetterCommand(client, body, args);
+          break;
         default:
         default:
           await crowi.slackBotService.notCommand(client, body);
           await crowi.slackBotService.notCommand(client, body);
           break;
           break;
@@ -161,6 +164,14 @@ module.exports = (crowi) => {
         await crowi.slackBotService.showEphemeralSearchResults(client, body, args, newOffset);
         await crowi.slackBotService.showEphemeralSearchResults(client, body, args, newOffset);
         break;
         break;
       }
       }
+      case 'showMoreTogetterResults': {
+        const parsedValue = JSON.parse(payload.actions[0].value);
+
+        const { body, args, limit } = parsedValue;
+        const newLimit = limit + 10;
+        await crowi.slackBotService.togetterCommand(client, body, args, newLimit);
+        break;
+      }
       default:
       default:
         break;
         break;
     }
     }

+ 20 - 0
src/server/service/slackbot.js

@@ -93,6 +93,26 @@ class SlackBotService extends S2sMessageHandlable {
     return;
     return;
   }
   }
 
 
+  async togetterCommand(client, body, args, limit = 10) {
+    // TODO GW-6721 Get the time from args
+    const reusult = await client.conversations.history({
+      channel: body.channel_id,
+      limit,
+    });
+    console.log(reusult);
+    // TODO GW-6712 display checkbox using result
+    const message = '*togetterCommand*';
+    client.chat.postEphemeral({
+      channel: body.channel_id,
+      user: body.user_id,
+      text: 'togetter',
+      blocks: [
+        this.generateMarkdownSectionBlock(message),
+      ],
+    });
+    return;
+  }
+
   getKeywords(args) {
   getKeywords(args) {
     const keywordsArr = args.slice(1);
     const keywordsArr = args.slice(1);
     const keywords = keywordsArr.join(' ');
     const keywords = keywordsArr.join(' ');