Bulk delete messages and files on Slack.
Install from PyPi:
pip install slack-cleaner2
pip install -e git+https://github.com/sgratzl/slack_cleaner2.git#egg=slack_cleaner2
In contrast to the original version (https://github.com/kfei/slack-cleaner) this version is a focusing on pure python package that allows for easy scripting instead of a vast amount of different command line arguments.
from slack_cleaner2 import * s = SlackCleaner('SECRET TOKEN') # list of users s.users # list of all kind of channels s.conversations # delete all messages in -bots channels for msg in s.msgs(filter(match('.*-bots'), s.conversations)): # delete messages, its files, and all its replies (thread) msg.delete(replies=True, files=True) # delete all general messages and also iterate over all replies for msg in s.c.general.msgs(with_replies=True): msg.delete()
Migration Guides form slack-cleaner contains a series of common pattern in slack cleaner and their counterpart in Slack Cleaner2
The slack cleaner needs you to give Slack's API permission to let it run the operations it needs. You grant these by registering it as an app in the workspace you want to use it in.
You can grant these permissions to the app by:
The token should start with xoxp and not like bot tokens with xoxb.
Beyond granting permissions, if you wish to use this library to delete messages or files posted by others, you will need to be an Owner or Admin of the workspace.
Note: You can only delete your own messages, not the ones of others. This is due to a restriction in the Slack API and there is nothing one can do about it.
There is no direct docker file available, however since it is a python module one can easily create one:
FROM python:3.7-alpine LABEL maintainer="Samuel Gratzl <[email protected]>" VOLUME "/backup" WORKDIR /backup RUN pip --no-cache-dir install slack-cleaner2 CMD ["python", "-"]
An Docker image named
slack_cleaner2 with this Dockerfile would be used like
cat myscript.py | docker run -i slack_cleaner2
myscript.py file is a python script using the slack_cleaner2 module.
To all the people who can only afford a free plan. 😢
bumpversion patch git commit -am 'release vX.X.X' git tag vX.X.X invoke release git push git push --tags
change version in