Last active
March 28, 2018 20:35
-
-
Save dserodio/19f59fc437a80ceb9908 to your computer and use it in GitHub Desktop.
Delete all images in Slack that were uploaded until yesterday
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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!' |
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
does it delete for all users or only my user?