Skip to content

Instantly share code, notes, and snippets.

@peterkuiper
Created February 8, 2017 13:47
Show Gist options
  • Save peterkuiper/db94a4f405a5ee71aed23e64f31d9eaf to your computer and use it in GitHub Desktop.
Save peterkuiper/db94a4f405a5ee71aed23e64f31d9eaf to your computer and use it in GitHub Desktop.

Revisions

  1. Peter Kuiper created this gist Feb 8, 2017.
    39 changes: 39 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,39 @@
    require 'net/http'
    require 'json'
    require 'uri'

    @token = ''

    def list_files
    ts_to = (Time.now - 30 * 24 * 60 * 60).to_i # 30 days ago
    params = {
    token: @token,
    ts_to: ts_to,
    count: 1000
    }
    uri = URI.parse('https://slack.com/api/files.list')
    uri.query = URI.encode_www_form(params)
    response = Net::HTTP.get_response(uri)
    JSON.parse(response.body)['files']
    end

    def delete_files(file_ids)
    file_ids.each do |file_id|
    params = {
    token: @token,
    file: file_id
    }
    uri = URI.parse('https://slack.com/api/files.delete')
    uri.query = URI.encode_www_form(params)
    response = Net::HTTP.get_response(uri)
    p "#{file_id}: #{JSON.parse(response.body)['ok']}"
    end
    end

    p 'Deleting files...'
    files = list_files
    file_ids = files.map { |f| f['id'] }
    delete_files(file_ids)
    p 'Done!'

    # from