코드들은 github에 업로드되어있습니다.
https://github.com/JaeYeongSong/Blog/tree/main/API
저번 시간에는 Slack 워크스페이스를 만들고, Slack 봇을 생성하는 것 까지 했습니다.
오늘은 Slack API 봇을 이용하여 메시지를 보내보겠습니다.
그러면 메시지를 보내는 코드를 가지고 와 보겠습니다.
import requests
myToken = "your key"
def post_message(token, channel, text):
response = requests.post("https://slack.com/api/chat.postMessage",
headers={"Authorization": "Bearer "+token},
data={"channel": channel,"text": text}
)
post_message(myToken,"#test","안녕하세요.")
▲ Slack/1.py
위 코드가 Slack API를 이용하여 봇을 통해 메시지를 보내는 코드입니다.
코드에 대해 설명을 해드리도록 하겠습니다.
첫 번째로 requests 를 import 해줍니다. requests 는 HTTP 요청을 보내는 라이브러리입니다.
'https://slack.com/api/chat.postMessage" 로 통신을 해야 하기 때문에 requests 라이브러리를 import 해줍니다.
그다음 myToken에 저번시간에 Slack API로 만든 봇의 토큰을 넣어주시면 됩니다.
그 다음 def post_message 함수를 정의해줍니다.
이 부분은 건드시지 않으시면 됩니다.
이 부분을 통해 메시지를 보내는 함수인 post_message 가 정의되기 때문입니다.
그럼 아래로 내려와서 post_message를 사용하시면, 어디 채널에 무슨 내용을 보낼 건지 정해주실 수 있습니다.
post_message(, "", "")
▲ post_message 함수
post_message 에는 총 3개의 인자를 받습니다.
첫 번째는 봇의 토큰(우리는 myToken 이라고 위에서 key를 정의해줌),
그다음에는 메시지를 보낼 워크스페이스의 채널,
그다음은 무슨 메시지를 보낼 건지를 정해주시면 됩니다.
그럼 "안녕하세요."를 Slack API 봇을 통해 보내볼까요?
post_message에는
post_message(my_Token,"test","안녕하세요.")
이렇게 적어주시면 됩니다. 한번 작동을 해보면
이렇게 Slack에 정상적으로 "안녕하세요." 가 정상적으로 보내진 걸 확인할 수 있습니다.
이렇게 보낼 수도 있고, 또 다른 방법으로 한 번 더 보내보도록 하겠습니다.
import requests
myToken = "your key"
def post_message(token, channel, text):
response = requests.post("https://slack.com/api/chat.postMessage",
headers={"Authorization": "Bearer "+token},
data={"channel": channel,"text": text}
)
post_msg = "함수로 보내보았습니다."
post_message(myToken,"#test",post_msg)
▲ Slack/2.py
이번엔 메시지를 함수로 만들어서 보내보도록 하겠습니다.
함수로 정의하여, 메시지를 보내도 정상적으로 작동합니다.
이 부분에서 왜 함수로 정의하여 보냈냐면, 코딩을 할 때 무엇의 결괏값을 Slack에 보내야 할 수도 있기 때문에
결괏값이 함수라면, 그 함수를 똑같이 써서 보내진 다는 것을 알려드리기 위해서입니다.
지금까지 읽어주셔서 감사합니다.
지금까지 Slack API 봇을 이용하여 메시지 보내는 코드이었습니다.