사고쳤어요
Slack 봇 만들기 - ① 봇 워크스페이스에 추가하기 본문
업무의 자동성, 효율성을 위해 슬랙 봇을 개발해보자.
Slack 사전 설정
먼저 슬랙 봇을 만들 채널을 하나 생성해준다.
AI 업무 관리 및 생산성 도구
업무가 이루어지는 새로운 세상, Slack 전 세계에서 가장 사랑받는 업무용 운영 체제에 인력, 프로젝트, 도구, AI를 한데 모아보세요
slack.com
다음으로 채널에 권한을 설정해줄 것이다.
위 링크에 들어간 뒤 우측 상단의 Your apps를 클릭한다.
앱 이름과 채널을 입력한 후 Create App을 누른다.
Create App을 누른 뒤 나오는 페이지에서 OAuth&Permissions를 클릭한다.
이곳에서 슬랙 봇에게 권한을 부여할 것인데, 화면을 아래로 스크롤하여 Scopes에서 "Add on OAuth Scope"를 누른다.
chat:write와 channels:read 권한을 검색하여 부여해준다.
이제 슬랙 봇은 워크스페이스에 글을 쓰고 채널을 읽을 수 있게 되었다.
이어서 슬래쉬 명령어를 추가해보자.
좌측 메뉴에서 Slash Commands - Create New Command를 클릭한다.
원하는 명령어와 설명을 간략히 입력해준다.
slack api의 좌측 메뉴에서 Socket mode - Connect using Socket mode - Enable Socket Mode를 클릭한다.
토큰을 발급받고 Socket Mode를 활성화한다.
좌측 메뉴의 Event Subscriptions - Enable Events를 활성화한다.
Subscribe to bot events - Add Bot User Event를 클릭한 뒤 chat:write:bot을 추가한다.
모든 사전 설정이 완료되었다.
상단의 메뉴 바에서 Install App에 들어간 뒤 Install to Minje(워크스페이스 이름)을 누른다.
다시 슬랙 워크스페이스로 돌아와 앱-관리-앱 찾아보기를 누른다.
방금 추가한 Sutdy Bot이 추가된 것을 확인할 수 있다!
Node.js 코드
코드 작성에 앞서, 슬랙 봇을 사용하기 위해선 SLACK_SIGNING_SECRET / SLACK_BOT_TOKEN / SLACK_APP_TOKEN이 필요하다.
따라서 위 3가지 토큰들을 복사하여 .env파일에 넣어줄 것이다.
1. SLACK_SIGNING_SECRET
Basic Information - Signing Secret - Show를 통해 확인 가능하다.
2. SLACK_BOT_TOKEN
OAuth & Permissions - Bot User OAuth Token에서 확인 가능하다.
3. SLACK_APP_TOKEN
Basic Information - App-Levels Tokens - test token(토큰명) 클릭으로 확인 가능하다.
dotenv, @slack/bolt를 설치하고 다음과 같이 코드를 작성하여 실행해준다.
require("dotenv").config();
const { App } = require("@slack/bolt");
const app = new App({
token: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET,
socketMode: true,
appToken: process.env.SLACK_APP_TOKEN,
port: process.env.PORT || 3000,
});
app.command("/안녕", async ({ ack, say }) => {
await ack();
await say("안녕하세요!");
});
(async () => {
await app.start();
console.log("⚡️ Slack 봇이 실행 중입니다!");
})();
이제 명령어로 만들었던 /안녕을 입력하면?
명령어가 성공적으로 처리되는 것을 확인할 수 있다.
'기타' 카테고리의 다른 글
객체 지향 프로그래밍 (0) | 2025.04.03 |
---|---|
떠오르는 워크스페이스 - Notion 사용해보기 (0) | 2025.03.11 |
가장 대중적인 프로젝트 관리 도구 - Jira 사용해보기 (0) | 2025.03.11 |
심플한 To-Do List - Trello 사용해보기 (0) | 2025.03.11 |
쿠키와 세션 (0) | 2025.02.28 |