-
Notifications
You must be signed in to change notification settings - Fork 3
슬랙봇 개발 시작
YamKim edited this page Jun 5, 2021
·
1 revision
슬랙봇 app 생성하기 (링크: https://api.slack.com/)
- 사이트 홈 화면에서
Create a custom app
버튼을 클릭합니다. -
Create New App
버튼을 눌러서 새로운 app을 생성합니다. - From scratch -> 봇의 이름(App Name)과 사용할 workspace를 지정합니다.
- 상위 내용들은 조성현님의 블로그를 참고했습니다.
- 스코프(
OAuth & Permissions
탭에서)를 세팅합니다.-
Bot Tokens Scopes와 User Token Scopes에서
Add an OAuth Scope
버튼을 누르면 추가할 수 있습니다. - 저희는 현재 다음과 같은(image source) 스코프들을 사용하고 있습니다.(추후 변경 될 수도 있음)
-
Bot Tokens Scopes와 User Token Scopes에서
- Workspace에 bot을 설치 후 slack OAuth Token 발급 받습니다.
- 스코프를 세팅하면,
OAuth & Permissions
탭 가장 위에서Install to Workspace
버튼을 클릭합니다. -
Allow
버튼을 눌러서 해당 워크스페이스에 app을 추가합니다. -
OAuth & Permissions
탭에 User OAuth Token과, Bot User OAuth Token이 발급됐는지 확인합니다. - 우리는
Bot User OAuth Token
을 nodejs의 환경설정(.env 파일)에서 사용하게 됩니다.
- 스코프를 세팅하면,
- bot에게 어떤 명령을 할지 명시적으로 가르쳐주는 기능입니다.
(slack bot에서/bot where {intra_id}
등의 명령을 수행할 때 사용됩니다.) - bot이 명령어를 받으면, 저희가 원하는 주소로 bot이 request 하도록 설정합니다.
-
Create New Command
버튼을 눌러 세팅을 시작합니다. - Command: 봇 호출 명령어를 기입합니다.
(ex. /bot) - Reuest URL: 명령어 및 내용을 보낼 URL을 적습니다.
(ex. https://bot.42seoul.io/slack/slashs) - Short Description: 사용 설명법을 작성합니다.
- ./routes/slack_slashs의 아래 코드와 같이 사용할 수 있습니다.
// 만약, /bot where yekim이 입력된 경우
router.post('/', async (req, res, next) => {
const { body } = req;
// body.command: '/bot'
// body.text: 'where yekim'
// body.channel_id: 서버에서 해당 채널에 메세지를 남기고 싶은 경우 필요
...
}