본문 바로가기

기타

[Slack Bot 만들기] 1. Slack app 생성 및 workspace 연동

반응형

[Python + Slack api로 Slack Bot 만들기]

pyhton과 slack api를 이용하여 slack 채널에 자동으로 메세지를 올리는 slack bot을 만들 수 있습니다.

친구들과 매일매일 하루의 공부 내용을 til 채널에 올리고 있는데,

하루가 끝났을때 오늘 til을 업로드한 사람이 누구인지 정리해주는 메세지 봇을 만들어보려고 합니다.

 

1. Slack app  생성

  - 먼저 Slack api를 사용할 slack app을 생성하도록 한다.

 

 

app.slack.com 페이지에서 create a custom app을 클릭합니다.

 

 

 

slack api > your apps로 이동하게 되는데, 여기서 create an App 버튼을 클릭해서 app 생성을 시작합니다.

 

 

 

위와 같은 팝업이 뜨는데, 사용할 App의 이름과 해당 app을 적용할 slack workspace를 설정해줍니다.

 

 

app을 생성했으면 Bots를 눌러서 app의 설정을 시작합니다.

 

 

Review Scopes to Add 버튼을 클릭해서 해당 bot의 권한 범위에 대한 설정을 진행해줍니다.

 

 

Scope에서 권한을 설정해주면 되는데, slack api에서 사용할 메소드의 required scope를 확인해서 설정해주면 된다.

위 사진은 chat.postMessage 메소드에 대한 가이드 화면인데, 빨간 박스를 보면 bot token의 경우 chat:write scope를 필요로 한다.

이와같이 사용할 메소드들을 확인해서 필요한 scope들을 추가해주면 된다.

 

 

이 slack bot에서는 4개의 메소드를 사용하였다.

conversations.list: 워크스페이스의 채널들을 조회하는 api method

conversations.history: 채널의 메세지들을 조회하는 api method

users.info: 사용자의 정보를 조회하는 api method

• chat.postMessage: 채널에 메세지를 전송하는 api method

해당 메소드들을 사용하기 위해서 필요한 Scope 들을 설정하였다.

 

 

권한 설정을 마친 후에 Install to Workspace 버튼을 눌러서 처음에 설정한 workspace에 해당 app을 설치해주도록 합니다.

 

 

허용을 눌러서 해당 workspace에 대한 app 권한을 설정하고 설치를 진행합니다.

app 설치가 끝나면 해당 app을 slack에서 workspace에 연결해주도록 합니다.

 

 

 

앱 연결을 누른 후 우리가 만든 앱을 workspace에 연결해줍니다.

 

 

채널에 다음과 같은 메세지가 출력되어 해당 bot이 정상적으로 채널에 추가된 것을 알 수 있습니다.

반응형