메모밍
Aiden's LAB
  • All Posts
    • Develop
      • Preferences
      • Linux & Ubuntu
      • Python
      • Web & Server
      • ML & DL
    • Notes
      • Diary
      • Books
      • Memo
      • Review
      • Tips

최근 글

  • [Slack Bot] Django에 슬렉봇 연결하기 (python sl⋯
    2022.03.17
  • [Django Channels] 실시간 채팅 구현하기 -2
    2022.03.17
  • [Django Channels] 실시간 채팅 구현하기 -1
    2022.03.16
  • [데이터사이언스] 데이터 전처리 대전
    2020.11.22
  • [리액트 서적] Learning React (러닝 리액트)
    2020.11.22
  • [딥러닝] 그로킹 딥러닝 :: 딥러닝 입문 추천 서적
    2020.03.20
  • [Babel] 초간단 바벨(Babel) 사용법
    2020.01.22
  • [Numpy] 파이썬 벡터 표현
    2020.01.20
  • [GITHUB] Git Branch(브랜치) 삭제하기 (Local / R⋯
    2020.01.18
  • [GITHUB] 원격 저장소의 Branch 가져오기
    2020.01.16
Theme Designed By 정상우
메모밍
[Slack Bot] Django에 슬렉봇 연결하기 (python slack bot)
Develop/Python

[Slack Bot] Django에 슬렉봇 연결하기 (python slack bot)

2022. 3. 17. 20:27

 

개발 중인 서비스에서 새로운 회원이 가입할 때마다 슬렉으로 알림을 받으면 좋겠다는 생각이 들었다. 이전까지는 DB에서 User를 조회하면서 얼마나 신규 유저가 있는지 체크를 했는데 단순 확인용도로 사용하기에 불편함이 있었다. 생각해보니 개발하는 멤버끼리 슬렉을 사용하고 있으므로 신규 유저가 가입할 때마다 슬렉 봇을 통해 자동으로 알림을 받도록 해보고자 한다.

 

Slack API 사용 설정

Slack에 로그인 한 뒤 App을 생성한다. (https://api.slack.com/apps) 나는 처음부터 만들어 볼 것이므로 From Scratch를 선택했다.

간단히 App 이름을 입력하고 App을 사용할 Slack 워크스페이스를 선택한다.

 

Bot을 선택하고 App 권한 설정을 위해 이동한다.

 

그 다음 아래에 있는 Bot Token Scopes에서 사용할 것들을 선택할 수 있다. 난 우선 채널 읽기와 쓰기 정도의 권한을 설정했다. 개발하다가 필요하면 수정이 가능하니까 일단 계속 가보는 걸로!

 

그다음 다시 위로 올라와서 Install App to workspace를 선택해서 추가한다.

그다음 화면에서 나오는 Token을 복사한다. Python으로 Slack API 호출시 이 정보가 필요하다.

 

그 다음 Slack으로 이동해서 우리가 생성한 App을 채널에 추가한다.

 

여기까지 했으면 사전 작업은 끝! 이제 간단한 Python 코드 작성만 해주자.

 

Python Code

우선 requests 패키지를 설치하고, 아래 코드를 이용해서 간단히 작성해보면 Slack으로 message를 받을 수 있다.

pip install requests
import requests

token = "your_slack_token"


def post_message(token, channel, text):
    response = requests.post(
        "https://slack.com/api/chat.postMessage",
        headers={"Authorization": "Bearer " + token},
        data={"channel": channel, "text": text},
    )
    if response.status_code == 200:
        print("success")


post_message(token, "#random", "test")

 

이제 이 코드를 Django 회원가입 API 쪽에 넣어주면 된다. views.py에 넣어서 Postman으로 테스트를 해봤다.

아주 성공적!!

 

저작자표시
    'Develop/Python' 카테고리의 다른 글
    • [Numpy] 파이썬 벡터 표현
    • Polyline 변환에 대해 알아보고 패키지를 사용해보자.
    • Google Maps API를 사용해보자 !
    django slack, slack bot, 슬렉봇, 파이썬 슬렉
    메모밍
    메모밍
    :: Aiden Lim's LAB ::
    댓글쓰기
    이전 글
    [Django Channels] 실시간 채팅 구현하기 -2
    • 이전
    • 1
    • 2
    • 3
    • 4
    • 5
    • ···
    • 38
    • 다음

    티스토리툴바