이 튜토리얼에서는 슬랙 API를 사용하여 파이썬 스크립트를 작성하여 슬랙 채널에 메시지를 보내는 방법에 대해 알아보겠다. 이 작업을 위해 Slack API를 기반으로 하는 slack-sdk 라이브러리를 사용한다. 또한 슬랙 봇을 만들고 필요한 OAuth 토큰을 얻는 과정도 다룬다
Python 3.x 설치
액세스할 수 있는 슬랙 워크스페이스
메시지를 보낼 공용 채널
봇 생성 및 관리 권한이 있는 슬랙 워크스페이스 관리자 권한
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"을 복사한다. 이 토큰은 파이썬 코드에서 봇을 인증하는 데 사용된다.
터미널 또는 명령 프롬프트를 열고 다음 명령을 실행한다:
pip install slack-sdk slack-bolt
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로 저장한다.
스크립트를 실행하기 전에 봇을 원하는 채널에 초대해야 한다:
슬랙 워크스페이스로 이동하여 chatbot-today 채널로 이동한다.
채널에서 다음 명령을 입력하고 Enter 키를 누른다:
/invite @봇_이름
your_bot_name을 생성 한 봇의 이름으로 바꾼다.
봇이 채널에 초대되면 이제 터미널 또는 명령 프롬프트에서 다음 명령을 실행하여 파이썬 스크립트를 실행할 수 있다:
python slack_message.py
성공적으로 실행하면 "뤼튼에서 인사드립니다!" 메시지가 슬랙 워크스페이스의 "chatbot-today" 공용 채널에 게시된다.
이 튜토리얼에서는 파이썬 프로그래밍 언어와 슬랙 API 및 slack-sdk 라이브러리를 사용하여 슬랙 채널에서 메시지를 보내는 방법을 설명했다. 이 방법은 알림, 채팅봇 및 자동화된 공지와 같은 다양한 응용 프로그램에 사용할 수 있다.