기존에는 파이썬으로 print 하여 현재가를 출력했지만, 우리가 자주 사용하는 여러가지 어플을 사용한다면 조금 더 편안 환경에서, 그리고 다양한 사람들이 현재가 정보를 공유할 수 있을 것이다. 개발자답게 개발자와 직장인들을 위한 업무용 도구인 Slack 챗봇을 이용하여 현재가 정보를 출력해볼 것이다.

게임을 조금 해봤다하는 사람들이라면 당연히 "디스코드"라는 채팅 및 음성채팅 기능을 제공하는 인스턴트 메신저를 알고 있을 것이다. 해당 어플리케이션 역시 API가 존재하는데, 이를 사용하기 위해선 API가 활동할 공간인 채널을 먼저 생성해야 한다. 슬랙도 마찬가지다. 슬랙으로 챗봇을 만들어 정보를 출력하기 전에 당연히 정보를 출력하기 위한 채널인 "워크스페이스"를 생성해야 한다. 본 글은 슬랙 챗봇을 이용한 알림 봇을 만드는 것이므로 워크 스페이스를 하나 이상 생성했다는 가정하에 진행할 것이다.

 


1. API 생성하기

 

새 HQ에 오신 것을 환영합니다.

Slack은 여러분의 팀과 소통할 새로운 방법입니다. 이메일보다 빠르고, 더 조직적이며, 훨씬 안전합니다.

slack.com

위 링크를 타고 들어가면 슬랙 API를 생성할 수 있는 공간이 보인다.

우선 빨간색으로 표시한 부분의 버튼을 클릭한다.

그러면 해당 창이 뜨는데, App Name에는 말 그대로 사용할 API의 이름을, Development Slack Workspace에는 해당 어플리케이션을 설치할 워크스페이스를 선택한다.

생성을 완료했으면 좌측 메뉴바에서 OAuth & Permission 메뉴를 선택해준다. OAuth란, 기존의 아이디와 비밀번호로 인증하던 전통적인 방식을 개방형으로 표준화한 것으로 이 인증을 공유하는 어플리케이션끼리는 별도의 인증이 필요 없게 하여 여러 어플리케이션을 통합하여 사용하는 것이 가능하도록 만든 것이다. 소셜로그인도 OAuth를 이용한 기능 중 하나이다.

Add an OAuth Scope를 클릭해 api가 워크스페이스에 채팅을 쓸 수 있는 권한을 부여한 후, 맨 위로 올라가 OAuth Tokens & Redirect URLs에서 Install to Workspace 버튼을 클릭하면, 전에 설정한 워크스페이스에 해당 api가 설치된다. 그러면 OAuth Token이 발행되는데, 이 토큰을 이용하면 워크스페이스에 접근하여 채팅할 수 있는 권한을 얻게 된다. 일종의 방문증이라고 생각하면 된다. (이 토큰은 보안이 유지되어야 한다.)

 


2. 파이썬 slack_SDK 모듈 설치하기

slack에서는 python에서 slack을 다루기 위한 공식 모듈을 제공한다. 아래 링크에서 자세한 설명을 읽어볼 수 있으며 해당 모듈을 통해 앞서 생성한 API를 다룰 수 있다.

 

slackapi/python-slack-sdk

Slack Developer Kit for Python. Contribute to slackapi/python-slack-sdk development by creating an account on GitHub.

github.com

파이썬 가상 환경에 아래와 같은 코드를 입력하면 라이브러리가 설치된다.

$ pip install slack_sdk

성공적으로 설치되었다.

 

 


3. 봇으로 채팅보내기

앞서 발행한 토큰을 가져와 다음과 같이 코드를 작성해준다.

from slack_sdk import WebClient

slack = WebClient(token="발행한 토큰 입력")
slack.chat_postMessage(channel="채팅을 보낼 채널 입력", text="메시지 입력")

잘 작동된다.

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기