Node.js에서 Slack Slash 명령 앱 만들기
초초심자용입니다.
완성 이미지
slack에서
/note hoge
를 치면 hoge
를 기록합니다.디자인
이상입니다. 시험판이므로, 프로덕션 환경에의 배포나 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)
기능은 다음과 같습니다.
nodemon 명령으로 시작합니다.
nodemon
ngrok에서 공개
ngrok란 로컬 호스트 서버를 공용 네트워크에 공개할 수 있는 서비스입니다.
htps : / / 응 g로 k. 코m/ 에서 설치합니다.
설치가 끝나면 아래 명령으로 3000번 포트를 외부 공개합니다.
ngrok http 3000
Forwarding 입력란에 외부 게시용 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_ )
Reference
이 문제에 관하여(Node.js에서 Slack Slash 명령 앱 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/xkent/items/795f92bec31a07d54212텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)