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)
'Develop > Python' 카테고리의 다른 글
Python Slack Lunch Bot - 점심 알리미 봇 (2) | 2018.11.08 |
---|---|
Python Sqlite3 Parameterized Query - '?' (매개변수쿼리) (0) | 2018.11.05 |
Python Slack Bot (파이썬 슬랙 봇) - slacker (0) | 2018.11.03 |
Python Slack WebHook (파이썬 슬랙 웹훅) 만들기 (0) | 2018.11.03 |
파이썬 의존성관리 requirements.txt (0) | 2018.11.03 |