{"id":19064123,"url":"https://github.com/florianwendelborn/slack-cleaner","last_synced_at":"2026-04-24T12:32:35.022Z","repository":{"id":139602332,"uuid":"231436495","full_name":"FlorianWendelborn/slack-cleaner","owner":"FlorianWendelborn","description":"Nearly-automatically deletes old Slack Messages","archived":false,"fork":false,"pushed_at":"2020-07-03T22:49:44.000Z","size":34,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-10T14:11:43.247Z","etag":null,"topics":["privacy","slack"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FlorianWendelborn.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-02T18:21:36.000Z","updated_at":"2020-07-04T13:01:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"d0b52e3c-aa76-43e3-8fde-4d116da0fe11","html_url":"https://github.com/FlorianWendelborn/slack-cleaner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FlorianWendelborn/slack-cleaner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianWendelborn%2Fslack-cleaner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianWendelborn%2Fslack-cleaner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianWendelborn%2Fslack-cleaner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianWendelborn%2Fslack-cleaner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FlorianWendelborn","download_url":"https://codeload.github.com/FlorianWendelborn/slack-cleaner/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlorianWendelborn%2Fslack-cleaner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32223933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["privacy","slack"],"created_at":"2024-11-09T00:41:23.547Z","updated_at":"2026-04-24T12:32:35.005Z","avatar_url":"https://github.com/FlorianWendelborn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack Cleaner\n\n## Installation\n\nRun `setup.sh`\n\n### Installing `virtualenv` on macOS\n\n```bash\nbrew install python\npip3 install virtualenv\n```\n\n## Configuration\n\n### List of Names\n\nProvide a list of names in `names.txt`:\n\n1. Go to https://yoursubdomain.slack.com/stats#members\n2. Select \"All Time\" and only select the \"Username\" in \"Edit Columns\"\n3. Remove All columns besides the username (slack-cleaner expects a newline-separated list of usernames)\n4. Remove the CSV header if you didn’t do that in step 3\n5. Save as `names.txt` in the repo root\n\n### List of Channels\n\nProvide a list of channels in `channels.txt`:\n\n1. Go to https://yoursubdomain.slack.com/stats#channels\n2. Select \"All Time\" and deselect everyhing in \"Edit Columns\"\n3. Remove All Columns besides the channel name (`slack-cleaner` expects a newline-separated list of usernames)\n4. Remove the CSV header if you didn’t do that in step 3\n5. Save as `channels.txt` in the repo root\n\n### Slack Username \u0026 Token\n\nYou can create/retrieve your `SLACK_TOKEN` in the following ways:\n\n|    Name | Description                                   | Link                                                                                   |\n| ------: | :-------------------------------------------- | :------------------------------------------------------------------------------------- |\n| New Way | Workaround to Allow Creating new Slack Tokens | [See @jackellenberger/emojme](https://github.com/jackellenberger/emojme#slack-for-web) |\n| Old way | Won’t allow creating new tokens, only renewal | [See Slack Legacy Tokens](https://api.slack.com/custom-integrations/legacy-tokens)     |\n\n\n### Configuring via Config File\n\nThe easiest way to configure `slack-cleaner` is to create a `config.sh` file with the following content:\n\n```bash\nSLACK_TOKEN=\"your-slack-token\"\nSLACK_USERNAME=\"your_username\"\n```\n\nYou can also add `SLACK_CLEANER_DAYS_TO_LEAVE=\"14\"` to the `config.sh` file if you want to keep less or more than the default of the last 14 days.\n\nIf you want to clean files, you can also add this:\n\n```bash\nSLACK_CLEANER_DELETE_FILES=\"true\"\n```\n\n### Configuration Options\n\nConfiguration options can be provided via the environment or added to `config.sh`.\n\n|                          Name | Description                         | Default | Required |\n| ----------------------------: | :---------------------------------- | :------ | :------- |\n|                 `SLACK_TOKEN` | Your Slack Legacy Token             | —       | ✅       |\n|              `SLACK_USERNAME` | Your Slack Username                 | —       | ✅       |\n| `SLACK_CLEANER_DAYS_TO_LEAVE` | Amount of recent days to keep       | `14`    | ❌       |\n|  `SLACK_CLEANER_DELETE_FILES` | Should files be deleted?            | `false` | ❌       |\n| `SLACK_CLEANER_SLEEP_BETWEEN` | Adjust to prevent API Rate Limiting | `5`     | ❌       |\n\n**`channels.txt`**: Channels to delete messages in  \n**`names.txt`**: Usernames to delete direct messages with\n\n## Running\n\n`./run.sh`\n\nAdd `--perform` if you actually want to delete the messages it shows. Deleted messages will be saved in `.log` files in the current folder.\n\n## Credits\n\nThis is just a simple wrapper around [slack-cleaner](https://github.com/kfei/slack-cleaner) by [@kfei](https://github.com/kfei) to make it easier to regularly clean slack.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflorianwendelborn%2Fslack-cleaner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflorianwendelborn%2Fslack-cleaner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflorianwendelborn%2Fslack-cleaner/lists"}