Exclua mensagens e arquivos em massa no Slack.
este é um fork de https://github.com/kfei/slack-cleaner
Uma versão aprimorada baseada em módulo Python está localizada em https://github.com/sgratzl/slack_cleaner2
Instalar a partir do Pip:
pip install slack-cleaner
versão de desenvolvimento atual:
pip install -e git+https://github.com/sgratzl/slack-cleaner.git#egg=slack-cleaner
Se você preferir o Docker, também existe uma imagem do Docker pré-construída:
docker pull sgratzl/slack-cleaner
Basta usar docker run -it --rm sgratzl/slack-cleaner -c "slack-cleaner ..."
para cada comando ou pular para um shell usando docker run -it --rm sgratzl/slack-cleaner
.
Instalar para Fedora ou EPEL7
@rapgro mantém pacotes para Fedora e 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
As permissões a serem concedidas dependem da finalidade para a qual você usará o script. Conceda as permissões abaixo dependendo do seu uso.
Além de conceder permissões, se desejar usar este script para excluir mensagens ou arquivos postados por outras pessoas, você precisará ser Proprietário ou Administrador do espaço de trabalho.
channels:history
channels:read
chat:write
(ou ambos chat:write:user
e chat:write:bot
para aplicativos mais antigos)users:read
groups:history
groups:read
chat:write
(ou chat:write:user
para aplicativos mais antigos)users:read
im:history
im:read
chat:write
(ou chat:write:user
para aplicativos mais antigos)users:read
mpim:history
mpim:read
chat:write
(ou chat:write:user
para aplicativos mais antigos)users:read
files:read
files:write
(ou files:write:user
para aplicativos mais antigos)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
O limpador precisa que você dê permissão à API do Slack para permitir que ele execute as operações necessárias. Você concede isso registrando-o como um aplicativo no espaço de trabalho em que deseja usá-lo.
Você pode conceder essas permissões ao aplicativo:
--token
para o script Após a tarefa, um arquivo de backup slack-cleaner.<timestamp>.log
será criado no diretório atual se --log
for fornecido.
Se ocorrer algum problema de API, tente --rate=<delay-in-seconds>
para reduzir a taxa de chamadas de API (que por padrão é ilimitada).
Se você vir o seguinte aviso de urllib3
, considere instalar pacotes ausentes: pip install --upgrade requests[security]
ou apenas atualize seu Python para 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.
Para todas as pessoas que só podem pagar um plano gratuito. ?