Slack에서 메시지 및 파일을 대량 삭제합니다.
이것은 https://github.com/kfei/slack-cleaner의 포크입니다.
향상된 Python 모듈 기반 버전은 https://github.com/sgratzl/slack_cleaner2에 있습니다.
Pip에서 설치:
pip install slack-cleaner
현재 개발 버전:
pip install -e git+https://github.com/sgratzl/slack-cleaner.git#egg=slack-cleaner
Docker를 선호하는 경우 사전 빌드된 Docker 이미지도 있습니다.
docker pull sgratzl/slack-cleaner
각 명령에 대해 docker run -it --rm sgratzl/slack-cleaner -c "slack-cleaner ..."
사용하거나 docker run -it --rm sgratzl/slack-cleaner
사용하여 셸로 점프하세요.
Fedora 또는 EPEL7용으로 설치
@rapgro는 Fedora와 EPEL7용 패키지를 모두 관리합니다.
# Fedora
dnf install slack-cleaner
# EPEL7
yum install -y epel-release ; yum install slack-cleaner
usage: slack-cleaner [-h] --token TOKEN [--log] [--quiet] [--rate RATE]
[--as_user] [--message | --file | --info] [--regex]
[--channel CHANNEL] [--direct DIRECT] [--group GROUP]
[--mpdirect MPDIRECT] [--user USER] [--botname BOTNAME]
[--bot] [--keeppinned] [--after AFTER] [--before BEFORE]
[--types TYPES] [--pattern PATTERN] [--perform]
optional arguments:
-h, --help show this help message and exit
--token TOKEN Slack API token (https://api.slack.com/web) or SLACK_TOKEN env var
--log Create a log file in the current directory
--quiet Run quietly, does not log messages deleted
--proxy Proxy Server url:port
--verify Verify option for Session (http://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification)
--rate RATE Delay between API calls (in seconds)
--as_user Pass true to delete the message as the authed user. Bot
users in this context are considered authed users.
--message Delete messages
--file Delete files
--info Show information
--regex Interpret channel, direct, group, and mpdirect as regex
--channel CHANNEL Channel name's, e.g., general
--direct DIRECT Direct message's name, e.g., sherry
--group GROUP Private group's name
--mpdirect MPDIRECT Multiparty direct message's name, e.g.,
sherry,james,johndoe
--user USER Delete messages/files from certain user
--botname BOTNAME Delete messages/files from certain bots. Implies '--bot'
--bot Delete messages from bots
--keeppinned exclude pinned messages from deletion
--after AFTER Delete messages/files newer than this time (YYYYMMDD)
--before BEFORE Delete messages/files older than this time (YYYYMMDD)
--types TYPES Delete files of a certain type, e.g., posts,pdfs
--pattern PATTERN Delete messages/files with specified pattern or if one of their attachments matches (regex)
--perform Perform the task
부여할 권한은 스크립트를 사용할 목적에 따라 다릅니다. 용도에 따라 아래 권한을 부여해 주세요.
권한 부여 외에도 이 스크립트를 사용하여 다른 사람이 게시한 메시지나 파일을 삭제하려면 작업 영역의 소유자 또는 관리자여야 합니다.
channels:history
channels:read
chat:write
(또는 이전 앱의 경우 chat:write:user
및 chat:write:bot
모두)users:read
groups:history
groups:read
chat:write
(또는 이전 앱의 경우 chat:write:user
)users:read
im:history
im:read
chat:write
(또는 이전 앱의 경우 chat:write:user
)users:read
mpim:history
mpim:read
chat:write
(또는 이전 앱의 경우 chat:write:user
)users:read
files:read
files:write
(또는 이전 앱의 경우 files:write:user
)users:read
# Delete all messages from a channel
slack-cleaner --token < TOKEN > --message --channel general --user " * "
# Delete all messages from a private group aka private channel
slack-cleaner --token < TOKEN > --message --group hr --user " * "
# Delete all messages from a direct message channel
slack-cleaner --token < TOKEN > --message --direct sherry --user johndoe
# Delete all messages from a multiparty direct message channel. Note that the
# list of usernames must contains yourself
slack-cleaner --token < TOKEN > --message --mpdirect sherry,james,johndoe --user " * "
# Delete all messages from certain user
slack-cleaner --token < TOKEN > --message --channel gossip --user johndoe
# Delete all messages from bots (especially flooding CI updates)
slack-cleaner --token < TOKEN > --message --channel auto-build --bot
# Delete all messages older than 2015/09/19
slack-cleaner --token < TOKEN > --message --channel general --user " * " --before 20150919
# Delete all files
slack-cleaner --token < TOKEN > --file --user " * "
# Delete all files from certain user
slack-cleaner --token < TOKEN > --file --user johndoe
# Delete all snippets and images
slack-cleaner --token < TOKEN > --file --types snippets,images
# Show information about users, channels:
slack-cleaner --token < TOKEN > --info
# Delete matching a regexp pattern
slack-cleaner --token < TOKEN > --pattern " (bar|foo.+) "
# TODO add add keep_pinned example, add quiet
# Always have a look at help message
slack-cleaner --help
클리너는 필요한 작업을 실행할 수 있도록 Slack의 API 권한을 부여해야 합니다. 사용하려는 작업 공간에 앱으로 등록하여 이를 부여합니다.
다음 방법으로 앱에 이러한 권한을 부여할 수 있습니다.
--token
인수로 사용합니다. 작업 후 --log
제공되면 백업 파일 slack-cleaner.<timestamp>.log
현재 디렉터리에 생성됩니다.
API 문제가 발생한 경우 --rate=<delay-in-seconds>
시도하여 API 호출 속도를 줄이세요(기본적으로 무제한).
urllib3
에서 다음 경고가 표시되면 누락된 패키지 설치를 고려하십시오: pip install --upgrade requests[security]
또는 Python을 2.7.9로 업그레이드하세요.
InsecurePlatformWarning: A true SSLContext object is not available.
This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail.
For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
무료 플랜만 이용할 수 있는 모든 사람들에게. ?