slack-cleaner

특정 채널의 슬랙 메세지를 모두 지우고 싶을 때가 있다. slack-cleaner 라는 툴을 사용하면 되는데 자주 안 쓰다보니 설치할 때마다 실행 방법을 잊어서 적어본다.

핵심은 이렇다.

  • Your Apps의 OAuth & Permissions 메뉴에서 Scopes를 잘 줘야 한다
  • OAuth Access Token의 xoxp-…로 시작하는 token을 사용해야 한다

스코프

Slack 봇을 개발하던 중이라 봇과 대화가 많이 쌓였는데 퍼미션 문제로 삭제가 안돼서 chat:write:bot을 추가하니 삭제가 됐다. 봇과의 대화는 –direct 옵션 다음에 무엇을 넣어야 하는지 애매한데 앱 이름(appname)을 넣으니 잘 된다.

slack-cleaner –token “xoxp-…” –message –direct appname –bot –rate=1 –perform
slack-cleaner –token “xoxp-…” –message –direct appname –user “*” –rate=1 –perform

토큰

xoxb- 토큰이 아닌 xoxp- 토큰을 사용하니 된다.

토큰이 스코프 변경이나 앱을 재설치 할 때 바뀌는 것 같은 느낌이 있다. 사용한 토큰이 슬랙 사이트의 토큰과 달라진 것을 경험했다. 복사를 잘못한 것인지는 모르겠으나 아무튼 설정 변경 후 토큰을 잘 살펴보자.

기타

스코프는 삭제해도 남아있는 것처럼 작동한다. 앱을 재설치 해도 마찬가지다.

Leave a comment

Your email address will not be published. Required fields are marked *