- 아래 url 접속합니다.
https://api.slack.com/apps
- "Create New App" 버튼을 클릭합니다.
- "From scratch" 항목을 클릭합니다.
- 앱이 적용될 워크스페이스를 선택한 후, "Create App" 버튼을 클릭합니다.
- "Basic Information" 안의 "Add features and functionality" 을 클릭합니다.
- "Permissions" 을 클릭합니다.
- "Add an OAuth Scope" 버튼을 클릭합니다.
- 권한 목록 중에 "channels:read", "chat:write", "chat:write.public" 을 선택합니다.
- "OAuth Tokens for Your Workspace" 항목 안에 있는 "Install to Workspace" 버튼을 클릭합니다.
- 그러면, 다음과 같이 SLACK_BOT_USER_TOKEN 을 확인할 수 있습니다.
- 다시 "Basic Information" 으로 돌아가 맨 아래로 스크롤 하면 SLACK_SIGNED_SECRET_KEY 값도 확인 가능합니다.
-
"Interactivity & Shortcuts" 에서 "Interactivity" 을 ON 으로 설정해줍니다.
-
다음은 "Event Subscriptions" 에서 "Enable Events" 을 ON 으로 설정해줍니다.
-
이 프로젝트를 git clone 받습니다.
git clone https://github.com/wisdomstar94/slack-bot-api.git
- 클론 받은 프로젝트 경로로 이동합니다.
cd slack-bot-api
- node package 를 설치합니다.
npm i
- 다음과 같이 파일들을 copy 합니다.
cp .env.sample .env
cp src/customs/slackButtonCallback.sample.js src/customs/slackButtonCallback.js
cp src/customs/slackEventAction.sample.js src/customs/slackEventAction.js
cp src/customs/slackMessageBlocks.sample.js src/customs/slackMessageBlocks.js
- .env 파일의 다음 항목들을 입력합니다.
변수명 | 설명 |
---|---|
COOKIE_SECRET_KEY | 쿠키 secret 값을 입력해주세요. |
SLACK_SIGNED_SECRET_KEY | 위에서 확인한 slack 의 SIGNED_SECRET_KEY 값을 입력해주세요. |
SLACK_BOT_USER_TOKEN | 위에서 확인한 slack 의 BOT_USER_TOKEN 값을 입력해주세요. |
SLACK_CHANNEL_ID | 위에서 확인한 slack 의 채널 ID 를 입력해주세요. |
- pm2 패키지를 전역으로 설치합니다.
npm i -g pm2
- 다음 명령어를 입력하여 프로젝트를 구동합니다.
pm2 start pm2.config.js
- 아래 엔드포인트를 호출하면 슬랙으로 메시지가 전송됩니다.
http://localhost:2510/slack/bot/message/send
-
메시지를 보낼 때 버튼도 같이 보내고 싶다면, http://localhost:2510/slack/bot/message/send 을 호출할 때 isButtonShow 값을 true 로 보내면 됩니다.
-
"src/customs/slackButtonCallback.js" 은 버튼 클릭 이벤트를 설정할 수 있습니다.
-
"src/customs/slackEventAction.js" 은 slack에서 발생하는 다양한 이벤트를 받아 처리할 수 있습니다.
-
"src/customs/slackMessageBlocks.js" 은 슬랙으로 전송되는 메시지 내용 폼을 자유롭게 작성할 수 있습니다.