Slack에서는 슬랙앱을 만들어 워크스페이스 내에서 원하는대로 여러 기능을 수행하는 봇을
운영할 수 있는 기능을 제공합니다.
이를 위하여 슬랙앱을 처음에 만들 때, 권한 등 여러 가지 항목에 대한 설정을 해야 하지만,
이 과정이 다소 복잡하여 올바르게 진행하는 것이 어려울 수 있습니다.
이에 도움을 드리기 위하여, 슬랙앱 생성과 관련된 튜토리얼을 제공해보도록 하겠습니다.
0. 앱 생성 준비 단계
1. 먼저, https://api.slack.com/ 사이트에 접속하고, 슬랙 계정 로그인을 합니다.
2. 우측 상단의 Your apps 메뉴를 클릭해줍니다.
3. 중앙에 보이는 Create an App 버튼을 클릭해줍니다.
4. 여기서는 저희가 원하는 기능을 처음부터 커스텀 모드로 설정해보려고 합니다.
따라서, From Scratch 메뉴를 선택해 보겠습니다.
5. 앱의 이름을 지어주고, 설치될 워크스페이스를 골라줍니다.
이후, Create App 버튼을 눌러주면 됩니다.
이제, 슬랙앱이 생성되기는 하였습니다.
다만, 실제 활용을 위하여 아래의 총 3가지 설정을 추가로 해주어야 합니다.
1. 소켓 모드 설정
2. 권한 설정
3. 이벤트 구독 설정
이제, 위 설정들을 진행하는 방법을 하나씩 상세히 살펴보도록 하겠습니다.
1. 소켓 모드 설정
1. 좌측의 Socket Mode 설정으로 들어가 주고,
해당 메뉴에서 Enable Socket Mode를 켜줍니다.
2. 원하는 Scope를 설정하고, Generate 버튼을 클릭합니다.
여기서는 Scope는 우선 기본 설정으로 냅뒀습니다.
여기서 첫 토큰은 App-Level Token 번호가 나오는데, 이를 잘 복사해둡니다.
3. 다음 이미지처럼 On 표시로 바뀌면, 소켓 모드 설정이 완료된 것입니다.
4. 참고로, App-Level Token의 번호는 Basic Information > App-Level Tokens 메뉴에서도
조회가 가능하니, 위에서 복사를 못하셨어도 걱정하실 필요가 없습니다.
이 토큰 번호는 xapp-로 시작한다는 특징이 있습니다.
2. 권한 설정
1. 좌측 메뉴 탭에서 OAuth & Permissions 메뉴로 진입해줍니다.
2. 스크롤을 내린 뒤에, Bot Token Scopes에 위치한 Add an OAuth Scope를 클릭합니다.
3. 이제 원하는 권한 목록을 찾아서 하나씩 추가를 해주어야 하는데,
이 과정이 다소 난감할 수 있습니다.
필요한 권한을 고르는 팁을 드리면, 앞으로 사용하게 될 메소드를 기준으로
필요한 권한을 모두 추가해주시면 됩니다.
예를 들어, 아래의 메소드 사용 시에는 chat:write 권한이 필요한 것입니다.
(Bot tokens 부분을 기준으로 확인하시면 됩니다.)
나중에도 권한 추가 및 삭제가 얼마든지 가능하니,
추후에 슬랙봇을 구현하면서 차차 관리를 진행해주시면 됩니다.
4. 권한을 아래와 같은 방식으로 추가해주시면 되며,
삭제는 우측 휴지통 버튼으로 쉽게 진행이 가능합니다.
5. 권한 추가가 완료되면 상단 부분의 Install to Workspace 버튼을 눌러줍니다.
(권한 종류가 변경되면 재설치를 진행해주시면 됩니다.)
6. 권한을 요청한다는 메시지가 뜬다면 허용을 해주시면 됩니다.
7. 이제 Bot Token이 생성되었습니다. 이 토큰은 슬랙앱에서 가장 중요한 토큰이니,
절대로 유출되지 않도록 유의해주세요.
해당 토큰의 번호는 xoxb-로 시작한다는 특징이 있습니다.
즉, 최종적으로 필요한 토큰의 종류는 2가지입니다.
(두가지 토큰 모두 유출이 되지 않도록 반드시 유의해주세요!)
1. App-Level Token
2. Bot Token
3. 이벤트 구독 설정
1. 좌측 메뉴 탭에서 Event Subscriptions 메뉴로 들어갑니다.
2. Enable Events 모드의 상태를 On으로 바꿔줍니다.
3. 좌측 하단의 Add Bot User Event에서 필요한 기능을 모두 추가한 뒤,
우측 하단의 Save Changes 버튼을 클릭해주시면 됩니다.
4. 슬랙 채널에 설치
이제 윗 단계들에서 설정한 앱을 실제 사용을 위하여 슬랙 채널에 설치해 보겠습니다.
1. 적용을 원하는 채널로 간 뒤, 우측 상단을 클릭하여 설정 메뉴에 진입해줍니다.
2. 통합 > 앱 추가 버튼을 클릭해줍니다.
3. 해당 앱에 대하여 추가 버튼을 눌러주면, 최종적으로 채널에 추가가 완료됩니다.
이제, 슬랙앱을 사용하기 위한 설정 준비 단계는 거의 완료되었습니다.
참고: 해당 포스팅은 아래 링크의 Udemy 강의 내용을 참고하였습니다.
https://www.udemy.com/course/develop-slack-bot-in-python/?referralCode=58A82439468E7E521BD5
(파이썬으로 슬랙 봇을 구현하는 내용의 강좌입니다.)
'Python > Slack API' 카테고리의 다른 글
[Slack Bolt] 파이썬 Slack App 슬래시(/) 커맨드 생성 방법 (2) | 2024.10.03 |
---|---|
Slack Webhook 설정 방법 / 파이썬 hook 보내기 예제 (0) | 2023.12.04 |
[Slack Bolt] 파이썬 Slack App 댓글 기능 구현 예제 (4) | 2023.11.24 |