Elimina mensajes y archivos de forma masiva en Slack.
esta es una bifurcación de https://github.com/kfei/slack-cleaner
Una versión mejorada basada en el módulo Python se encuentra en https://github.com/sgratzl/slack_cleaner2
Instalar desde Pip:
pip install slack-cleaner
versión de desarrollo actual:
pip install -e git+https://github.com/sgratzl/slack-cleaner.git#egg=slack-cleaner
Si prefiere Docker, también hay una imagen de Docker prediseñada:
docker pull sgratzl/slack-cleaner
Simplemente use docker run -it --rm sgratzl/slack-cleaner -c "slack-cleaner ..."
para cada comando o salte a un shell usando docker run -it --rm sgratzl/slack-cleaner
.
Instalar para Fedora o EPEL7
@rapgro mantiene paquetes tanto para Fedora como para 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
Los permisos a otorgar dependen de para qué vas a utilizar el script. Conceda los permisos siguientes dependiendo de su uso.
Más allá de otorgar permisos, si desea utilizar este script para eliminar mensajes o archivos publicados por otros, deberá ser propietario o administrador del espacio de trabajo.
channels:history
channels:read
chat:write
(o ambos chat:write:user
y chat:write:bot
para aplicaciones más antiguas)users:read
groups:history
groups:read
chat:write
(o chat:write:user
para aplicaciones más antiguas)users:read
im:history
im:read
chat:write
(o chat:write:user
para aplicaciones más antiguas)users:read
mpim:history
mpim:read
chat:write
(o chat:write:user
para aplicaciones más antiguas)users:read
files:read
files:write
(o files:write:user
para aplicaciones más antiguas)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
El limpiador necesita que le des permiso a la API de Slack para permitirle ejecutar las operaciones que necesita. Estos se otorgan registrándola como una aplicación en el espacio de trabajo en el que desea usarla.
Puede otorgar estos permisos a la aplicación de la siguiente manera:
--token
para el script Después de la tarea, se creará un archivo de respaldo slack-cleaner.<timestamp>.log
en el directorio actual si se proporciona --log
.
Si ocurrió algún problema con la API, intente --rate=<delay-in-seconds>
para reducir la tasa de llamadas a la API (que de forma predeterminada es ilimitada).
Si ve la siguiente advertencia de urllib3
, considere instalar los paquetes que faltan: pip install --upgrade requests[security]
o simplemente actualice su Python a 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.
A todas las personas que sólo pueden permitirse un plan gratuito. ?