사내 슬랙 (Slack) 인기 이모지, 안 쓰는 이모지 조사하기

한종우·2024년 10월 20일
0

Tool

목록 보기
5/5
post-thumbnail

Intro

사내 메신저로 많이 사용하는 슬랙에는 커스텀 이모지 기능이 있다. 내가 좋아하는 사진이나 움짤을 이모티콘으로 만들 수 있고, 개수 제한도 없어서 사용자들은 마음대로 안아줘요 같은 이모지를 추가할 수 있다.
안아줘요
필자의 회사에는 커스텀 이모지가 1000개 가까이 된다. 다양한 이모지가 있는건 좋지만 단발성으로 생긴 이모지가 너무 많아지다보니 어떤 이모지가 있었는지 찾기가 어려운 문제가 생겼다. 그래서 실제 이모지 사용량을 확인하고 안 쓰는 이모지를 청소하고자 코드를 작성했다.

본 글에서는 slack API를 이용해 slack workspace에서 안 쓰는 이모지, 커스텀 이모지의 사용량을 확인할 수 있는 코드를 소개하고자 한다.

사용법

  1. 이모지 카운터 다운로드
    • git clone https://github.com/Spiraline/slack-emoji-counter.git
    • 혹은 github 링크 에 들어가 Code > Download Zip 한 후 압축 해제
  2. 아래를 참고하여 OAuth Access Token 토큰 생성
  3. python slack_emoji_counter.py -t $(OAuth token 값)

OAuth Access Token 생성법

  1. Slack Apps 페이지에 접속하여 새 App 만들기
    이미 App이 있는 경우 생략해도 된다.
    App 이름은 자유롭게 설정해도 되며, workspace는 사용량을 측정하고 싶은 본인의 workspace로 선택한다.
    create_app
  2. User Token에 권한 부여
    OAuth & Permissions 탭을 선택하고 스크롤을 내리다가 User Token Scopes에 아래 3개의 권한을 추가한다.
    • channels:history
    • channels:read
    • emoji:read
      add_permission
  3. App 설치
    스크롤을 올리고 OAuth Tokens에 있는 Install 버튼을 눌러서 app을 workspace에 설치한다.
    install_app
  4. token 값 복사
    이 값이 있으면 바로 해당 workspace에 접근해서 해당 workspace의 정보를 알아내는 것이 가능하기 때문에 유출되지 않도록 주의한다.

실행 예시

성공적으로 실행된 경우 두 개의 파일이 생긴다.

  • emoji_usage.csv: 사용량 통계, 엑셀에서 필터링하여 인기 이모지를 확인할 수 있다. (데이터 > 필터 버튼을 누르면 필터링 가능하다) 또한 1열의 내용을 그대로 복사하여 슬랙에 붙여넣으면 이모지의 형태로 확인 가능하다.
    • Emoji: 이모지 이름
    • is_custom: 커스텀 이모지인 경우 TRUE, 기본 이모지인 경우 FALSE이다.
    • reaction: 반응으로 이모지가 눌린 횟수
    • unique_reaction: 반응으로 이모지가 사용된 횟수
      (한번에 여러 명이 반응한 경우 하나로 카운팅)
    • inline: 글에 사용된 이모지 횟수
    • total: 이모지로 사용된 횟수
      (unique_reaction + inline)
  • unused_emoji.csv
    사용되지 않은 이모지들이 알파벳 순으로 정렬되어있다. 안 쓰는 이모지를 정리하고 싶다면 이 이모지들을 청소하면 될 것이다.
    example

유의사항

  • public 채널의 이모지만 읽어올 수 있다. 내가 멤버로 있는 private 채널 역시 크롤링은 가능하지만 (참고) 당연하게도 내가 들어가 있지 않은 private 채널 정보는 알 수 없다.
profile
고양이를 좋아하는 개발자

0개의 댓글