Python/Python__works

python - slack 채널 연동하기

말하는감자 2019. 1. 14. 18:53

python 소스상의 json slack 채널로 보내주는 방법


1) 슬랙 채널 생성(비공개, 공개 상관없음)

슬랙 token 확인(https://api.slack.com/custom-integrations/legacy-tokens)



2) slacker 임포트

import slacker import Slacker

token = '사이트상에서 복사한 슬랙 토큰'


3) 데이터 정리

slack_message = {

"a": "쓰고싶은말",

        "b": "쓰고싶은말"

}


4) 전달

slack.chat.post_message('#생성한 채널 이름', json.dumps(slack_message))



('#생성한채널이름', 'message1', 'message2') ->이런식으로 보내면 message1만 출력된다

json 하나로 묶어서 보내어야함







알록달록하게 꾸미는 방법


1) 제약에 맞게 리스트 생성

slack_message = [{

'color' : '컬러코드',

'title' : 'title에 넣을 text'

'text' : '본문'

}]


만약 본문안에 메세지를 좀 다양하게 넣고 싶다면

dict = {

'a' : '내용',

'b' : '내용'

}

식으로 dict 생성한 후에

str(dict) 로 스트링으로 변환해서 본문자리에 넣어주면 한번에 날아간다


text안에 노출되는 메세지는 8 line이 넘어가면 Show more로 묶여서 날아가기 때문에 긴 데이터를 받아서 확인할 때 좋다


2) 전달

slack.chat.post_message('#생성한 채널 이름', text=None, attachments=slack_message)


또는


slack.chat.post_message('#생성한 채널 이름', json.dumps(dict, ensure_ascii=False))