Server Programming/Python

슬랙 봇 생성 및 Python 으로 연동하기

Dev.BeryL 2022. 1. 24. 23:09
728x90

Slack bot 생성하기는 간단하다.

 

 

Slack에 App을 추가하여 자동으로 메세지를 보내게하는 방법은

Webhook URL을 사용하거나 OAuth Token을 사용하면 된다.

 

https://slack.com/intl/ko-kr/?redir=%2Fapps%2Fmanage%2Fcustom-integrations

 

Slack은 미래의 업무가 이루어지는 곳입니다

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

slack.com

 

  1. 위 링크에서 수신 웹후크(Incoming Webhooks) 선택
  2. Bot 추가를 원하는 채널에 들어가서 ctrl + shift + i → 더보기 → #채널에 있는 앱보기
  3. 앱이 있는지 확인 → 있을경우 4번, 없을경우 5번 진행
  4. 원하는 채널에 Bot이 있는 경우 ->구성 선택후 채널 이름 찾아 편집 버튼 클릭
  5. 봇을 추가 해야하는경우 → Slack에 추가 선택후 원하는 채널에 추가
  6. 웹후크 URL을 복사하여 사용

 

App 추가 방식의 Slack bot 생성(OAuth Token)

https://api.slack.com/apps/

 

Slack API: Applications | Slack

Your Apps Don't see an app you're looking for? Sign in to another workspace.

api.slack.com

1. Create New App 선택후 워크스페이스에 앱 추가

 

2. Settings → Install Your App

3. OAuth Tokens 을 복사

4. 채널 선택 → ctrl + shift + i → 더보기 → 앱추가 를 통해 생성한 앱 추가

 

Python에서 사용

Webhooks URL

pip install requests

import requests

url = "https://hooks.slack.com/services/~~~~~/~~~~"

def post_to_slack(slackText):
	payload = {"text" : slackText}
	requests.post(url,json=payload)

OAuth Token

pip install slacker

from slacker import Slacker

token = "xoxb-xxxxxxxxxxx"
Channel = "#airi-xxxxx"

def post_to_slack(slackText):
	slack = Slacker(token)
	slack.chat.post_message(Channel,slackText) // 메세지 전송
	f=open("보내고싶은 파일",'rb')
	slack.files.upload(f,channels=Channel) // 파일을 보내고 싶을때
반응형