[python] 슬랙 메시지 보내기

dev-nam 2022. 4. 5. 23:52

파이썬으로 슬랙(Slack) 메시지 보내기

저는 주로 자동 프로그램을 작동시키거나 모니터링할 때, 설정해둔 특정 상황이나 오류가 발생하면 슬랙 메신저로 알림을 받아봅니다. 파이썬으로 슬랙 메시지를 보내는 방법은 간단합니다.

 

파이썬 코드를 작성하기 전에 슬랙 API 봇을 생성해야 합니다. 우선 슬랙 API 사이트(https://api.slack.com/)에 접속해서 Create an app 버튼을 클릭하면 앱을 생성하는 페이지로 이동합니다.

 

그러면 아래와 같은 팝업창이 나타나는데 From scratch 옵션을 선택하고, 앱 이름과 앱을 사용할 슬랙 워크스페이스를 선택하고 앱 생성 버튼을 누릅니다.

 

앱을 성공적으로 생성했다면 이제 웹훅을 추가하기 위해 Incoming Webhooks 버튼을 클릭합니다. 이 웹훅이라는 기능을 이용하여 우리가 만든 프로그램에서 특정 이벤트나 오류가 발생하였을 때 슬랙 메신저로 알림을 보낼 거예요.

 

이제 설정이 거의 끝나갑니다. 우측 상단에 Off 버튼을 클릭해서 웹훅 기능을 활성화시키고, 페이지 하단부에 위치한 Add New Webhook to Workspace 버튼을 클릭합니다.

 

채널을 선택하라는 화면이 나타나면 슬랙 봇을 이용할 채널을 선택하고, 허용하기를 눌러서 웹훅 주소 생성완료합니다. 드디어 파이썬 코드를 작성할 준비가 끝났습니다.

 

이제 파이썬 코드를 작성하여 슬랙 메시지를 전송해봅시다. 참고로 슬랙은 메시지 디자인과 몇 가지 기능을 제공하고 있으니 API 문서를 참고하시면 더욱 다양하게 활용 가능합니다. 

import requests

def send_message():
  
  # 생성한 웹훅 주소
  hook = 'https://hooks.slack.com/services/*****.....'
  title = '푸쉬 알림에 표시되는 제목입니다.'
  content = '메시지 본문에 표시되는 내용입니다.'
  
  # 메시지 전송
  requests.post(
    hook,  
    header={
      'content-type': 'application/json'
    },
    json={
      'text': title,
      'blocks': [
        {
          'type': 'section',  # 저는 메시지가 묶이지 않도록 section을 주로 사용합니다.
          'text': {
            'type': 'mrkdwn',
            'text': content
          }
        }
      ]
    }
  )

 

클린 코드는 아니지만 저의 코드를 봐주셔서 감사합니다. 궁금하신게 있으시면 댓글 남겨주세요~😊

 

반응형

'주제 > python' 카테고리의 다른 글

[python] 링크 주소로 메타 태그 확인  (0) 2022.03.23
[python] 링크 도메인, 호스트 정보 확인  (0) 2022.03.23