https://github.com/jokj624/sw-slackbot
스타 때려주세요 ㅋㅋ
심심해서 슬랙 App (Bot 개념인데 슬랙에서 App으로 명칭을 바꿈) 하나 개발했습니다.
숙명여대 Developers 슬랙에서 사용할 목적으로 제작했는데 저희과 소프트웨어 홈페이지에서 취업 채용 공고를 긁어와서 채널에 뿌려주는 App 입니다.
저희과 홈페이지에 굉장히 자주 취업 관련 글이 올라오는데 사실 저도 그렇고 잘 안들어가게 되더라구요.
그래서 그냥 slash command 한번에 최근 글을 긁어올 수 있는 bot 이 있으면 좋겠고, 또 마침 sookmyung Developers 슬랙이 있으니 사용하면 좋겠다 해서 개발했습니다.
감사하게도 슬랙장님께서 추가하면 좋겠다고 허락해주셔서 오늘 1차 배포 후 추가했습니다.
로컬 개발은 전혀 문제가 없었는데 배포 때 oauth verification 때문에 굉장히 힘들었습니다. 자료도 거의 없어서..
slack api사이트에선 말로만 설명하고 코드는 없어서 진짜 쥐어 짜서 구현했어요 엉엉
그 과정에서 flow를 그려봤습니다.. 나중에 slack app만드실 분 참고하세요 .. 근데 저게 맞는지도 모르겠음 레퍼런스가 영어라 .. 내멋대로 해석함
아래는 크롤링 과정!
전반적으로 배포할 때 자료가 없어서 레퍼런스 보고 만들었습니다..
Slash Command
1. /update
아래 사진처럼 소프트웨어 게시판에서 1페이지 (최근에 올라온) 글만 가져옵니다. 게시글로 바로 이어지는 링크도 뿌려줍니다.
2. /update 오늘
아래 사진처럼 오늘 올라온 게시글을 찾아서 가져옵니다. 마찬가지로 게시글로 바로 이어지는 링크도 뿌려줍니다.
개발은 Node js와 server 프레임워크로 Koa, 언어로 Typescript를 사용해 개발해봤습니다.
Typescript가 워낙 깐깐해서 애먹었고, Koa 자료가 너무 없어서 애먹었음
서버 배포는 Heroku로 간단하게 진행했습니다.
첫 배포 후에 오늘 커맨드가 안먹혀서 보니 cherrio 로 크롤링 해올 때 '\t' 이 붙어오는 듯 해서 trim()을 붙였더니 제대로 됐습니다.
무튼 배포한 거 하나 추가~!
'DEV > 잡다한 개발 일지' 카테고리의 다른 글
Macbook M1 에서 터미널 세팅 (brew, zsh, iterm, oh-my-zsh) (7) | 2021.06.22 |
---|---|
ML5, Posenet, React로 개발한 AI 홈 트레이닝 Web - MAIT (2) | 2021.04.26 |
[React] 나와 비슷한 오마이걸 멤버는? 성격 테스트 개발 (0) | 2021.04.17 |
외장 SSD(Samsung Portable T5)에 Ubuntu 18.04.5 LTS 설치 (0) | 2021.02.04 |
Uncaught SyntaxError: Unexpected token '<' in <!DOCTYPE html> 자문자답 ^0^ - Node.js (0) | 2021.02.04 |