파이썬을 사용하여 슬랙 채널에 메시지 보내기

나이트 개발자·2023년 5월 23일
0
post-thumbnail

소개:

이 튜토리얼에서는 슬랙 API를 사용하여 파이썬 스크립트를 작성하여 슬랙 채널에 메시지를 보내는 방법에 대해 알아보겠다. 이 작업을 위해 Slack API를 기반으로 하는 slack-sdk 라이브러리를 사용한다. 또한 슬랙 봇을 만들고 필요한 OAuth 토큰을 얻는 과정도 다룬다

준비사항:

Python 3.x 설치
액세스할 수 있는 슬랙 워크스페이스
메시지를 보낼 공용 채널
봇 생성 및 관리 권한이 있는 슬랙 워크스페이스 관리자 권한

1단계: 슬랙 봇 만들기 및 슬랙 봇 토큰 얻기

https://api.slack.com/apps 로 이동하여 슬랙 계정으로 로그인한다.

"Create New App"을 선택한다.

앱 이름을 지정하고 원하는 워크스페이스를 선택한 다음 "Create App"을 클릭한다.

왼쪽 사이드바에서 "OAuth & Permissions"로 이동한다.

"Scopes"로 이동하여 다음 스코프를 추가한다:

channels:read
chat:write
commands
groups:read
mpim:read
변경 사항을 저장하고 왼쪽 사이드바에서 "Install App"을 클릭한다.

앱을 설치하고 요청된 권한을 승인한다.

"Bot User OAuth Access Token"을 복사한다. 이 토큰은 파이썬 코드에서 봇을 인증하는 데 사용된다.

2단계: slack-sdk 및 slack-bolt 라이브러리 설치

터미널 또는 명령 프롬프트를 열고 다음 명령을 실행한다:

pip install slack-sdk slack-bolt

3단계: 공용 채널에 메시지를 보내기 위한 파이썬 스크립트 생성

import os
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError

SLACK_BOT_TOKEN = "xoxb-XXXXXXXXXXXX-XXXXXXXXXXXXXXXX"  # 받은 Bot User OAuth Access Token으로 바꾸기

slack_client = WebClient(token=SLACK_BOT_TOKEN)

def send_message_to_channel(channel_name, message):
    try:
        response = slack_client.conversations_list()
        channels = response["channels"]
        channel_id = None

        for channel in channels:
            if channel["name"] == channel_name:
                channel_id = channel["id"]
                break

        if channel_id is not None:
            slack_client.chat_postMessage(channel=channel_id, text=message)
            print(f"{channel_name}에 메시지 보내기 성공")
        else:
            print(f"{channel_name} 채널을 찾을 수 없다.")

    except SlackApiError as e:
        print(f"오류: {e}")

if __name__ == "__main__":
    channel_name = "chatbot-today"
    message = "뤼튼에서 인사드립니다!"
    send_message_to_channel(channel_name, message)

SLACK_BOT_TOKEN 변수를 1단계에서 얻은 Bot User OAuth Access Token으로 변경한다. 스크립트를 slack_message.py로 저장한다.

4단계: 슬랙 채널에 봇 초대

스크립트를 실행하기 전에 봇을 원하는 채널에 초대해야 한다:

슬랙 워크스페이스로 이동하여 chatbot-today 채널로 이동한다.
채널에서 다음 명령을 입력하고 Enter 키를 누른다:
/invite @봇_이름
your_bot_name을 생성 한 봇의 이름으로 바꾼다.

5단계: 파이썬 스크립트 실행

봇이 채널에 초대되면 이제 터미널 또는 명령 프롬프트에서 다음 명령을 실행하여 파이썬 스크립트를 실행할 수 있다:

python slack_message.py

성공적으로 실행하면 "뤼튼에서 인사드립니다!" 메시지가 슬랙 워크스페이스의 "chatbot-today" 공용 채널에 게시된다.

결론:

이 튜토리얼에서는 파이썬 프로그래밍 언어와 슬랙 API 및 slack-sdk 라이브러리를 사용하여 슬랙 채널에서 메시지를 보내는 방법을 설명했다. 이 방법은 알림, 채팅봇 및 자동화된 공지와 같은 다양한 응용 프로그램에 사용할 수 있다.

profile
개발하면서 또는 프러덕 관리하면서 겪는 기억해둬야하는 내용을 메모장 삼아 남긴다. Google Keep이나 메모 도구에 남기는 것과는 달리 잘 정리할 수 있어서 언젠가 들춰봐야할 내용들을 담은 글들이 게시된다.

0개의 댓글