Node.js에서 Slack Slash 명령 앱 만들기

Slack의 slash 명령에서 실행할 수있는 간단한 메모 응용 프로그램을 만들어보십시오.
초초심자용입니다.

완성 이미지



slack에서 /note hoge를 치면 hoge를 기록합니다.

디자인


  • 로컬 서버에서 노드 응용 프로그램 (express)을 시작합니다.
  • ngrok로 로컬 서버를 외부에 공개
  • slack slash 명령을 만들고 대상에 공개 URL을 지정합니다.

    이상입니다. 시험판이므로, 프로덕션 환경에의 배포나 DB 접속 등 귀찮은 일은 하지 않습니다.

    익스프레스 앱 만들기



    Udemy에서 속습했습니다. ( htps //w w. 우데 my. 이 m / 이렇게 r 세이 / 때문에 js-p rt2-에 xp rs / )
    익스프레스 환경의 구축은 할애합니다.
    index.js에 아래를 기재.

    index.js
    
    const express = require("express");
    const app = express();
    const port = process.env.PORT || 3000;
    const bodyParser = require("body-parser");
    const Joi = require("joi");
    
    app.use(express.json());
    app.use(bodyParser.urlencoded({extended:true}));
    
    const notes = [];
    
    
    app.get("/", (req, res) => {
        res.send("Hello, World!");
    });
    
    app.get("/notes", (req, res) =>{
        res.send(notes);
    })
    
    app.post("/notes", (req, res) => {
        console.log(req)
        console.log(req.query)
        let course = {
            id: notes.length + 1,
            name: req.body.text
        };
        notes.push(course);
        res.send(notes);
    });
    
    app.listen(port, () =>{
        console.log(`ポート番号${port}で立ち上がりました。`)
    });![ezgif.com-video-to-gif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501910/d4b332de-e9f9-13ba-ba10-55c9577a4e0b.gif)
    ![ezgif.com-video-to-gif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501910/7ce635f7-583e-012c-e7eb-72cf7d3852d4.gif)
    
    

    기능은 다음과 같습니다.
  • 3000 번 포트에서/notes 경로에서 POST 요청을 받습니다
  • 요청 body의 text 키 값을 notes에 저장하고 notes를 응답으로 반환합니다.

    nodemon 명령으로 시작합니다.
    nodemon
    

    ngrok에서 공개



    ngrok란 로컬 호스트 서버를 공용 네트워크에 공개할 수 있는 서비스입니다.
    htps : / / 응 g로 k. 코m/ 에서 설치합니다.

    설치가 끝나면 아래 명령으로 3000번 포트를 외부 공개합니다.
    ngrok http 3000
    

    Forwarding 입력란에 외부 게시용 URL이 발급됩니다.


    주의
  • 게시된 URL에는 만료일이 있습니다.
  • 인터넷상의 어느 곳에서나 액세스 할 수 있기 때문에 일시적인 사용에 둡니다.

    슬랙 슬래시 명령 만들기



    공식 사이트대로 설정을 합니다.
    htps : // 아피. scck. 코 m / 인테라 c 치 ゔ ty / s sh

    슬랙 앱 만들기



    htps : // 아피. scck. 이 m/아 ps? 네 w_아 p=1
    AppName 및 Slack workspace를 입력하고 Create App

    slash 명령 작성



    note 명령 작성.
    요청 URL에 [ngrok URL]/notes를 입력합니다.


    Slack에서 조작해보기



    응용 프로그램을 설정한 slack의 작업 공간에서 아래 명령을 입력하면 JSON 형식으로 노트가 돌아옵니다.
    /note hoge
    /note fuga
    



    명령의 내용은 POST 요청으로 설정된 URL로 전송되며 인수 문자열은 body 안에 text로 포함됩니다.

    이상으로 앱 작성이 완료되었습니다!

    참고



    소스 코드는 여기에서 공개( htps : // 기주 b. 코 m / 켄 t / s CK_ )
  • 좋은 웹페이지 즐겨찾기