반응형

 

slacker를 이용한 파이썬 슬랙 봇을 만드는 방법이다. 순수하게 메세지만 보낼 예정이라면 아래의 웹훅을 추천한다.(봇을 이용하면 슬랙이 무거워짐),

슬랙에 봇을 추가 및 만드는 방법은 아래의 slackclient를 이용한 파이썬 슬랙봇 만들기에 나와있다.

 

- 파이썬 웹훅으로 만들기

2018/11/03 - [Python] - Python Slack WebHook (파이썬 슬랙 웹훅) 만들기

 

- slackclient를 이용한 파이썬 슬랙봇 만들기

2018/11/03 - [Python] - Python Slack Bot (파이썬 슬랙 봇) - slackclient

2018/11/08 - [Develop/Python] - Python Slack Lunch Bot - 점심 알리미 봇

 

- Node.js Webhooks

2019/05/03 - [Develop/Node.js] - [Node.js] Node.js Slack WebHooks (슬랙 웹훅)

 

 

- Spring boot Webhook (Java Webhook)

2018/11/24 - [Develop/Spring Boot] - Spring boot Slack WebHook. 슬랙 웹훅(Java Slack WebHook)

 

 

1. slacker를 설치한다.

 

pip install slacker

 

 

2. 토큰을 발급받는다.

 

from slacker import Slacker  slack_token = '토큰'  #위에 발급받은 토큰을 적으면 됨. slack = Slacker(slack_token) slack.chat.post_message('#channel', '메세지') #채널자리에 슬랙에 있는 채널을 적으면 됨. 

 

위 소스를 실행하면 알아서 메세지가 잘 전달된다.

 

메세지를 예쁘게 보내고 싶으면

slack api 문서 - https://api.slack.com/docs/message-attachments 문서에서 attachments라고 나와 있는 것을 딕셔너리를 이용하여 보내면 된다.

 

dic = {"title": "Slack API Documentation", "color" : "#2eb886" }  attachments = [dic]  slack.chat.post_message('#channel', '메세지', attachments=attachments) #채널자리에 슬랙에 있는 채널을 적으면 됨. 

 

반응형
반응형

 

slackclient를 이용한 파이썬 슬랙 봇을 만드는 방법이다. 

순수하게 메세지만 보내고 싶다면 아래의 파이썬 웹훅 게시글을 보면되고

 

slackclient의 메세지를 예쁘게 보내고 싶다면 이 글을 보고 아래의 slacker로 파이썬 슬랙 봇 만들기를 보면 된다.

 

- 파이썬 웹훅으로 만들기.

2018/11/03 - [Python] - Python Slack WebHook (파이썬 슬랙 웹훅) 만들기

 

- 파이썬 slacker로 파이썬 슬랙 봇 만들기

2018/11/03 - [Python] - Python Slack Bot (파이썬 슬랙 봇) - slacker

2018/11/08 - [Develop/Python] - Python Slack Lunch Bot - 점심 알리미 봇

 

- Node.js Webhooks

2019/05/03 - [Develop/Node.js] - [Node.js] Node.js Slack WebHooks (슬랙 웹훅)

 

- Spring boot Webhook (Java Webhook)

2018/11/24 - [Develop/Spring Boot] - Spring boot Slack WebHook. 슬랙 웹훅(Java Slack WebHook)

 

 

1. https://api.slack.com 에 접속한 뒤, Your Apps에 들어간다.

 

 

 

2. Your Apps에 접속하면 아래와 같은 창이 바로 보이며, Create an App을 클릭한다.

 

 

 

3. 이름을 짓고 사용할 워크스페이스를 고른다.

 

 

4. BotUser를 등록한다.

 

 

 

5. 왼쪽의 OAuth & Permissions에 들어가서 bot을 install workspace를 하게되면 OAuth Token을 발급받게 되고 봇이 Slack에 추가된다.

그리고 Bot User OAuth Access Token을 복사한다.

 

 

 

 

 

6. Slack에서 봇을 사용할 채널에 /invite 명령어로 봇을 추가한다.

 

7. https://api.slack.com/tutorials/tags/python 사이트에 접속해서 사용 방법을 터득 하면되며,

대표적으로 How to Build Your First Slack Bot with Python(https://www.fullstackpython.com/blog/build-first-slack-bot-python.html)에 접속한다.

(소스 파일 : https://github.com/mattmakai/slack-starterbot/blob/master/starterbot.py)

 

소스를 대충 설명하자면, 

 

 

 

# instantiate Slack client slack_client = SlackClient(os.environ.get('SLACK_BOT_TOKEN')) #os.environ.get부분을 다 지우고 아까 복사한 token을 붙여넣는다. # starterbot's user ID in Slack: value is assigned after the bot starts up starterbot_id = None #----------------------------------- def handle_command(command, channel): #이 메소드에서 슬랙에서 받은 메세지를 처리한다. #----------------------------------- while True: command, channel = parse_bot_commands(slack_client.rtm_read()) if command: handle_command(command, channel) time.sleep(RTM_READ_DELAY) #TCP통신처럼 여기서 메세지 받는 것을 대기한다.

 

튜토리얼에서 워낙 잘 나와 있기 때문에 이해하기가 쉬우며 사용 또한 편리하다.

 

코드 및 사용방법 출저 : https://api.slack.com/tutorials/tags/python - How to Build Your First Slack Bot with Python(https://www.fullstackpython.com/blog/build-first-slack-bot-python.html)

반응형
반응형

 

 

파이썬으로 슬랙에 메세지를 보낼 수 있는 방법 중 하나인 웹훅(webhook)을 사용하는 방법이다. 

 

- Spring boot Webhook (Java Webhook)

2018/11/24 - [Develop/Spring Boot] - Spring boot Slack WebHook. 슬랙 웹훅(Java Slack WebHook)

 

- Pyhton Slack Bot

2018/11/03 - [Develop/Python] - Python Slack Bot (파이썬 슬랙 봇) - slackclient

2018/11/03 - [Develop/Python] - Python Slack Bot (파이썬 슬랙 봇) - slacker

2018/11/08 - [Develop/Python] - Python Slack Lunch Bot - 점심 알리미 봇

 

- Node.js Webhooks

2019/05/03 - [Develop/Node.js] - [Node.js] Node.js Slack WebHooks (슬랙 웹훅)

 

 

1. Apps 옆의 + 를 누른다.

 

 

2. View App Directory.

 

 

3. incoming webhooks을 검색 하고 Add한다.

 

 

 

4. 메세지를 보낼 채널을 선택한다.

 

 

5. 아래의 Webhook URL을 복사한다. 그 밑에는 웹훅 사용법이 적혀있다.

 

 

 

6. 파이썬에 아래의 코드를 사용하여 보낸다.

 

requests.post 함수와 Json형태의 메세지를 통해 보낸다.

import json import requests   def main():      webhook_url = "복사한 url"     content = "WebHook Test"     payload = {"text": content}      requests.post(         webhook_url, data=json.dumps(payload),         headers={'Content-Type': 'application/json'}     )   if __name__ == '__main__':     main() 

 

 

7. 결과

 

 

반응형

+ Recent posts