▶︎ Slack Bot
나에게 메시지를 보내주는 Slack 봇을 만들어보자
‣ Workspace 설정
슬랙 봇으로 부터 메시지를 받기 위한 슬랙 메신저 내 "워크스페이스" 와 "채널" 개설 그리고 메시지를 보내줄 "슬랙 앱"을 만들고 설정하도록 하자
• Workspace 개설
a. 새로운 워크스페이스를 만들기 위해 본인이 사용하는 메일 주소를 입력
b. 사용할 워크스페이스 이름 지정
c. 슬랙 메신저에서 추가된 워크스페이스와 채널 확인
Gallery_Alarm 워크스페이스 선택
‣ 슬랙 App 생성
개설한 채널에 메시지를 보내줄 슬랙 앱을 만들어보자
Slack API를 사용해야 하기 때문에 Slack API 홈페이지로 이동한다
https://api.slack.com/
a. 슬랙 앱 생성하기
Your Apps 클릭 후 Create New App 클릭
Create New App 클릭
b. 슬랙 앱 팝업 - From scratch 선택
c. 앱 이름 및 채널 선택
d. Slack Oauth & Permissions 설정
Scopes에 chat:write OAuth 추가
e. 앱 적용하기
f. Slack Token 복사하기
‣ Slack App 채널 초대
새로 생성한 워크스페이스 내 채널에 메시지를 보낼 수 있는 Slack App(Alarm_App)이 메시지를 보낼 채널에 초대해보자
참고로 초대받지 않은 사람과 App은 메시지를 보낼 수 없다
a. Slack App 채널에서 '채널 세부 정보 열기' - 통합 - 앱 추가 클릭
▶︎ 메신저 봇 구현
‣ slack_SDK 설치
pip install slack_sdk
‣ 코드 작성
import slack_sdk
import environ
def _get_token(file_name: str) -> environ.Env:
env : environ.Env = environ.Env(DEBUG=(bool,False))
env.read_env(env_file=file_name)
return env
def msg_bot(slack_token: str, slack_channel: str, slack_message: str) -> None:
client = slack_sdk.Webclient(token=slack_token)
client.chat_postMessage(channel=slack_channel,text=slack_message)
if __name__ == '__main__':
file_name : str = 'app.env'
SLACK_TOKEN : str= _get_token(file_name=file_name)
SLACK_CHANNEL : str = '#알림-자동화'
SLACK_MESSAGE : str = 'Hello test'
msg_bog(slack_token=SLACK_TOKEN,slack_channel=SLACK_CHANNEL,slack_message=SLACK_MESSAGE)