Slack : comment supprimer tous vos messages
Mise à jour le 23/03/2020 – L’utilisation de Slack Cleaner a légèrement changé. Il faut utiliser un token OAuth et remplacer le terme « sherry » par le nom de l’utilisateur avec lequel vous échangez dans le but de supprimer vos messages. Rassurez-vous, tout est expliqué ci-dessous. Merci à Jonathan pour cette information.
Si vous lisez cet article, vous êtes sûrement déjà utilisateur de Slack. Et vous avez appris qu’à partir du 20 avril 2018, les administrateurs de chaque espace pourront télécharger vos conversations privées.
Comment supprimer tous vos messages Slack – version facile :
Vous devez utiliser Chrome (ou l’installer si vous ne l’avez pas). Après l’avoir installé, ouvrez ce lien sur Chrome.
Vous devriez alors obtenir cette page :
Cliquez sur le bouton « Ajouté à Chrome ». L’extension va alors s’installer par elle-même et sera activée directement sur Chrome. Pour en être sûr, vérifiez que l’icône (une petit croix avec les couleurs de Slack) apparaît bien en haut à droite.
Maintenant que la partie installation est terminée, vous devez vous connecter à Slack avec Chrome. Pour cela, rendez-vous sur ce lien. Vous arrivez alors sur cette page :
Dans un premier temps, vous devez saisir le nom de l’espace de travail. Si vous utilisez Slack dans le cadre de votre travail, c’est typiquement le nom de votre entreprise. Ensuite vous obtenez une page de connexion classique :
Vous devez saisir votre adresse e-mail et retrouver votre mot de passe, puis vous connecter. Si le mot de passe est correct, vous vous retrouvez sur votre espace Slack – mais en version Web sur Chrome :
Maintenant rendez-vous sur une conversation que vous souhaitez supprimer, et cliquez sur la croix en haut à droite :
Ce qui vous donne :
Vous devez cliquer sur le premier bouton « Delete MY messages ». L’extension va ensuite simuler « votre action » de suppression pour chaque message que vous avez tapé. C’est un peu long, mais soyez patients, laissez l’onglet ouvert et travaillez sur d’autres rubriques. Lorsque la suppression des messages est achevée, cette pop-up s’affiche :
Elle vous indique que la suppression est terminée. L’extension vous invite à rafraîchir la page, car elle peut avoir manqué certains messages. Ça m’est justement arrivé : dans ce cas, vous devez relancer le traitement. Ou bien demander à vos interlocuteurs de faire le ménage de leur côté. Pour résumer, vous devez donc cliquer sur « OK » et relancer la suppression des messages (s’il en reste). Pour rappel, l’extension supprime uniquement vos messages, pas les réponses des autres.
Comment supprimer tous vos messages Slack – version difficile (pour les barbus de l’informatique) :
Vous devez installer Python 2. Si vous êtes sur Linux c’est déjà fait ; pour les autres, voici le lien de téléchargement.
Génération du token Slack
Nouvelle méthode – Génération d’un token OAuth
- Rendez-vous sur la page Your Apps.
- Cliquez sur le bouton Create an App
- Écrivez un nom d’application dans le champ App Name
- Sélectionnez, dans le deuxième champ, le Workspace sur lequel vous souhaitez supprimer des messages.
- Appuyez sur le bouton Create App
- Dans l’arborescence de gauche, cliquez sur l’élément OAuth & Permissions
- Scrollez vers le bas jusqu’à la rubrique Scopes – User Token Scopes
- Cliquez sur le bouton Add an OAuth Scope pour ajouter les permissions que vous souhaitez utiliser. Les différentes combinaisons sont disponibles ci-dessous :
Supprimer les messages d’un channel / groupe public | channels:history channels:read chat:write users:read |
Supprimer les message d’un channel / groupe privé | groups:history groups:read chat:write users:read |
Supprimer les messages d’une conversation avec une autre personne | im:history im:read chat:write users:read |
Supprimer les messages d’une conversation avec plusieurs personnes | mpim:history mpim:read chat:write users:read |
Supprimer des fichiers | files:read files:write users:read |
Après avoir sélectionné les permissions que vous souhaitez…
Remontez en haut de la page et cliquez sur le bouton Install App to Workspace.
Slack récapitule les permissions souhaitées et vous demande une seconde validation : cliquez sur le bouton Allow.
Après cette validation, Slack vous affiche le précieux Token qui sera utilisé juste après. N’oubliez pas de le copier et de le conserver quelque part.
Ancienne méthode – Ne fonctionnera plus à partir du 5 Mai 2020
Ensuite, vous devez créer un token API pour développeur pour envoyer des requêtes de suppression à Slack. Pour ce faire rendez-vous sur cette page. Vous allez atterrir sur une page de ce style :
Cliquez sur le bouton « Create token » pour générer la clé permettant d’utiliser l’API ailleurs. Conservez votre token de côté, on va s’en servir par la suite.
Installation de Slack Cleaner
Je me base sur le code d’un certain kfei, disponible sur Github si vous avez besoin de plus d’informations.
Ouvrez un terminal et saisissez la commande :
pip install slack-cleaner
Python installe le programme afin que vous puissiez l’utiliser ; vous devriez retrouver la même console que moi :
Utilisation de Slack-cleaner
Il existe plusieurs façons d’utiliser le programme :
# Supprimer tous les messages d'un channel slack-cleaner --token <TOKEN> --message --channel general --user "*" # Supprimer tous les messages d'un groupe privé slack-cleaner --token <TOKEN> --message --group hr --user "*" # Supprimer tous les messages directs avec une autre personne slack-cleaner --token <TOKEN> --message --direct sherry --user johndoe # Supprimer tous les messages d'un groupe de message direct slack-cleaner --token <TOKEN> --message --mpdirect sherry,james,johndoe --user "*" # Supprimer tous les messages d'un certain utilisateur slack-cleaner --token <TOKEN> --message --channel gossip --user johndoe # Supprimer tous les messages de robots slack-cleaner --token <TOKEN> --message --channel auto-build --bot # Supprimer des messages plus anciens que la date 2015/09/19 slack-cleaner --token <TOKEN> --message --channel general --user "*" --before 20150919 # Supprimer tous les fichiers slack-cleaner --token <TOKEN> --file --user "*" # Supprimer tous les fichiers d'un utilisateur en particulier slack-cleaner --token <TOKEN> --file --user johndoe # Supprimer tous les morceaux de code et images slack-cleaner --token <TOKEN> --file --types snippets,images # Lire la documentation slack-cleaner --help
J’ai été sympa : je vous ai traduit les commentaires correspondant aux commandes utilisables.
Voici un exemple avec un message direct. Dans la console, inscrivez cette commande en remplaçant les bons paramètres :
slack-cleaner --token <TOKEN> --message --direct <lecteur des messages> --user <rédacteur des messages>
- TOKEN 👉 correspond au token généré précédemment
- lecteur des message 👉 correspond au nom de l’utilisateur avec qui vous échangez, pour lequel vous souhaitez la suppression des messages
- rédacteur des messages 👉 c’est votre nom d’utilisateur, vous souhaitez supprimer vos messages.
Si vous avez un doute sur les nom d’utilisateurs, vous pouvez utiliser la commande suivante :
slack-cleaner --token <TOKEN> --info
Le nom d’utilisateur correspond à la valeur présente dans la deuxième colonne. Pour l’utilisateur Jérémy, son nom est inther. Il faut être attentif à cela, vos collègues de boulot se cachent probablement derrière un pseudo mystérieux 😀.

Si vous rencontrez des soucis lors de l’installation, vous pouvez essayer de mettre à jour pip puis réinstaller la librairie :
pip install --upgrade pip pip install --upgrade slack-cleaner
Et si ça ne fonctionne toujours pas, vous pouvez utiliser la version docker :
docker run -it --rm kfei/slack-cleaner -c "slack-cleaner --token 'dsfds9b5701815b655' --message --direct louise --user jeremy"
Voilà pour l’exemple :
Le programme identifie les messages à supprimer. Pour confirmer la suppression, il faut rajouter le paramètre –perform, l’option –rate=5 (pour effectuer une suppression toutes les 5 secondes) ainsi que l’option –as_user. Comme ceci :
Avec Docker
docker run -it --rm kfei/slack-cleaner -c "slack-cleaner --token 'dsfds9b5701815b655' --message --direct louise --user jeremy --perform --rate=5 --as_user"
Sans Docker
slack-cleaner --token 'dsfds9b5701815b655' --message --direct louise --user jeremy --perform --rate=5 --as_user
Dans cet exemple, je cherche à supprimer mes messages en tant que (Jeremy), écrits à Louise. Il faut bien faire attention à l’ordre des arguments.
J’espère que cet article vous a donné un coup de pouce intéressant. Si jamais vous aviez des soucis, les commentaires sont la pour ça !