Table of Contents

Python

slack bot 에 메세지 던지기

꼬꼬마코더 2024. 4. 6. 14:47
728x90

slack bot을 만들었으면 이제 bot이 말해야한다. 그러려면 '내'가 slack bot(slack webhook url)에게 메세지를 던져야 한다. 

 

cmd를 켜고 다음 curl 명령어를 던진다. slack webhook url을 따로 넣어준다.

curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/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

 

 

나의 경우엔 위 문구가 실패해서 다음과 같이 백슬래쉬\ 넣어서 성공했다.

curl -X POST -H "Content-type:application/json" --data "{\"text\":\"A New Program Has Just Been Posted!!!\"}" https://hooks.slack.com/services/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

 

 

cmd에서 curl 명령어를 전송하고 ok 성공 메세지가 뜨면 내가 만든 slackbot 이 메세지를 보낸다.

 

 

 

이번엔 curl이 아닌 python으로 명령어를 던져보자.

 

import requests
import json

def hello():
    slack_hooks_url = "https://hooks.slack.com/services/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"

    payload = {"text":"Hello, World!"}
    headers = {'Content-type': 'application/json'}
    response = requests.post(slack_hooks_url, data=json.dumps(payload), headers=headers)
    print(response)
    
hello()

 

다음과 같이 슬랙에서 메세지가 잘 뜬다.

 

 

 

 

이번엔 모듈로 만들어서 실행시켜보자. 

slackbot.ipynb 과 slacktest.py 를 2개를 만들어서 slackbot.ipynb에서 slacktest.py를 실행시켜보자.

 

slackbot.ipynb

pip install slack_sdk

# slacktest.py
import sys
# Enable debug logging
import logging
logging.basicConfig(level=logging.DEBUG)
# Verify it works
from slack_sdk import WebClient
client = WebClient()
api_response = client.api_test()

import slacktest
slacktest.hello()

 

slacktest.py

import requests
import json

def hello():
    slack_hooks_url = "https://hooks.slack.com/services/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"

    payload = {"text":"오늘은 토요일입니다"}
    headers = {'Content-type': 'application/json'}
    response = requests.post(slack_hooks_url, data=json.dumps(payload), headers=headers)
    print(response)

 

이것도 잘 실행된다.

 

'Python' 카테고리의 다른 글

NaN 에 대해  (0) 2024.04.18
python에서 datetime 모듈 활용해 시간 문제 풀기  (0) 2024.04.08
VSC 전각문자 full-width characters 문제 해결하기  (0) 2024.04.06
curl  (0) 2024.04.06
Python 파이썬 초보자 추천 사이트  (1) 2024.04.05