Skip to content

Instantly share code, notes, and snippets.

@shirshir
Forked from jamescmartinez/slack_delete.rb
Created November 23, 2015 15:48
Show Gist options
  • Select an option

  • Save shirshir/2a6bf21086d843d5a21e to your computer and use it in GitHub Desktop.

Select an option

Save shirshir/2a6bf21086d843d5a21e to your computer and use it in GitHub Desktop.

Revisions

  1. @jamescmartinez jamescmartinez revised this gist Jul 25, 2015. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions slack_delete.rb
    Original file line number Diff line number Diff line change
    @@ -4,8 +4,8 @@

    @token = ''

    def get_files
    ts_to = (Time.now - 30*24*60*60).to_i # 30 days ago
    def list_files
    ts_to = (Time.now - 30 * 24 * 60 * 60).to_i # 30 days ago
    params = {
    token: @token,
    ts_to: ts_to,
    @@ -18,7 +18,7 @@ def get_files
    end

    def delete_files(file_ids)
    for file_id in file_ids
    file_ids.each do |file_id|
    params = {
    token: @token,
    file: file_id
    @@ -31,7 +31,7 @@ def delete_files(file_ids)
    end

    p 'Deleting files...'
    files = get_files
    files = list_files
    file_ids = files.map { |f| f['id'] }
    delete_files(file_ids)
    p 'Done!'
  2. @jamescmartinez jamescmartinez revised this gist Jul 25, 2015. No changes.
  3. @jamescmartinez jamescmartinez revised this gist Jul 25, 2015. No changes.
  4. @jamescmartinez jamescmartinez created this gist Jul 25, 2015.
    37 changes: 37 additions & 0 deletions slack_delete.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    require 'net/http'
    require 'json'
    require 'uri'

    @token = ''

    def get_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)
    for file_id in file_ids
    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 = get_files
    file_ids = files.map { |f| f['id'] }
    delete_files(file_ids)
    p 'Done!'