Skip to content

Instantly share code, notes, and snippets.

@dserodio
Last active March 28, 2018 20:35
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dserodio/19f59fc437a80ceb9908 to your computer and use it in GitHub Desktop.
Save dserodio/19f59fc437a80ceb9908 to your computer and use it in GitHub Desktop.
Delete all images in Slack that were uploaded until yesterday
#!/usr/bin/env python
"""Delete all images in Slack that were uploaded until yesterday"""
import requests
import datetime
import sys
TOKEN = 'Put your Slack auth token here'
SLACK_API = 'https://slack.com/api'
yesterday = datetime.date.today() - datetime.timedelta(days=1)
yesterday_ts = yesterday.strftime('%s')
def get_files(page=1):
return requests.get('%s/%s' % (SLACK_API, '/files.list'),
params={'token': TOKEN, 'ts_to': yesterday_ts}).json()
page = 1
files = get_files(page)
if not files['ok']:
print "ERROR: ", files['error']
sys.exit(1)
print 'Deleting %d images uploaded until %s' % (
files['paging']['total'], yesterday.strftime('%d/%m/%Y'))
total_pages = files['paging']['pages']
for page in xrange(1, total_pages):
print 'Deleting page %d/%d' % (page, total_pages)
files = get_files(page)
for f in files['files']:
resp = requests.get('%s/%s' % (SLACK_API, '/files.delete'),
params={'token': TOKEN, 'file': f['id']})
print 'Deleted %s' % f['id']
print 'Done!'
@CavalcanteLeo
Copy link

does it delete for all users or only my user?

@NorioIINUMA
Copy link

Line 13 does not work on Windows.
Instead, this code works.

yesterday_ts = (yesterday - datetime.date(1970,1,1)).total_seconds()

See here.
marians/openweather#6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment