Massenlöschung von Nachrichten und Dateien auf Slack.
Dies ist ein Fork von https://github.com/kfei/slack-cleaner
Eine verbesserte, auf einem Python-Modul basierende Version finden Sie unter https://github.com/sgratzl/slack_cleaner2
Von Pip installieren:
pip install slack-cleaner
aktuelle Entwicklungsversion:
pip install -e git+https://github.com/sgratzl/slack-cleaner.git#egg=slack-cleaner
Wenn Sie Docker bevorzugen, gibt es auch ein vorgefertigtes Docker-Image:
docker pull sgratzl/slack-cleaner
Verwenden Sie einfach docker run -it --rm sgratzl/slack-cleaner -c "slack-cleaner ..."
für jeden Befehl oder springen Sie mit docker run -it --rm sgratzl/slack-cleaner
in eine Shell.
Für Fedora oder EPEL7 installieren
@rapgro verwaltet Pakete sowohl für Fedora als auch für 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
Die zu gewährenden Berechtigungen hängen davon ab, wofür Sie das Skript verwenden möchten. Erteilen Sie je nach Verwendung die unten aufgeführten Berechtigungen.
Wenn Sie dieses Skript nicht nur zum Erteilen von Berechtigungen verwenden möchten, um von anderen gepostete Nachrichten oder Dateien zu löschen, müssen Sie Eigentümer oder Administrator des Arbeitsbereichs sein.
channels:history
channels:read
chat:write
(oder sowohl chat:write:user
als auch chat:write:bot
für ältere Apps)users:read
groups:history
groups:read
chat:write
(oder chat:write:user
für ältere Apps)users:read
im:history
im:read
chat:write
(oder chat:write:user
für ältere Apps)users:read
mpim:history
mpim:read
chat:write
(oder chat:write:user
für ältere Apps)users:read
files:read
files:write
(oder files:write:user
für ältere Apps)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
Für den Cleaner müssen Sie der API von Slack die Berechtigung erteilen, damit er die benötigten Vorgänge ausführen kann. Sie gewähren diese, indem Sie sie als App in dem Arbeitsbereich registrieren, in dem Sie sie verwenden möchten.
Sie können der App diese Berechtigungen erteilen, indem Sie:
--token
für das Skript Nach der Aufgabe wird eine Sicherungsdatei slack-cleaner.<timestamp>.log
im aktuellen Verzeichnis erstellt, wenn --log
angegeben wird.
Wenn ein API-Problem auftritt, versuchen Sie --rate=<delay-in-seconds>
um die API-Aufrufrate zu reduzieren (die standardmäßig unbegrenzt ist).
Wenn Sie die folgende Warnung von urllib3
sehen, denken Sie darüber nach, fehlende Pakete zu installieren: pip install --upgrade requests[security]
oder aktualisieren Sie einfach Ihr Python auf 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.
An alle Menschen, die sich nur einen kostenlosen Plan leisten können. ?