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)

  1. 2019.09.02 15:49

    비밀댓글입니다

+ Recent posts