Example #1
0
function cleanFiles(files) {
  var deletedSize = 0;
  var deletedCount = 0;
  var deletedFiletypes = program.types;
  console.log('Deleting files with filetypes: ', program.types.join(','));
  files.forEach(function (file) {
    if (_.contains(deletedFiletypes, file.filetype)) {
      deletedSize += file.size;
      deletedCount++;
      deleteFile(file);
    }
  });
  console.log('Deleted:', deletedCount + ' files (' + filesize(deletedSize) + ')');
  if (program.dry) {
    console.log('DRY RUN: No files were actually deleted.');
  }
}
Example #2
0
  .option('-x, --types <items>', 'A list of filetypes (e.g. "png,jpg,mp3") which will be deleted', list)
  .option('-d, --dry', 'Perform a dry run only')
  .parse(process.argv);

if (!program.token) {
  console.error('Slack API token required. Run with option -h for more info.');
  process.exit(1);
}

if (!(program.list || program.types)) {
  console.error('Please specify a list of types to delete or choose to display a list of all files. Run with option -h for more info.')
  process.exit(1);
}

if (program.types) {
  console.log('All files with these filetypes will be deleted:', program.types.join(','));
  if (program.dry) {
    console.log('DRY RUN: No files will actually be deleted.');
  }
}


var allFiles = [];

continueFromPage(1);

function continueFromPage(pageNumber) {
  request.post({
    url: 'https://slack.com/api/files.list',
    form: {
      count: 100,