f0ckv1/src/trigger/clean.js

40 lines
1.2 KiB
JavaScript
Raw Normal View History

2016-09-01 18:02:35 +00:00
var fs = require('fs-extra');
2016-09-15 00:05:18 +02:00
module.exports = (lib) => {
2016-09-09 11:18:03 +00:00
lib.trigger.add({
2016-09-01 18:02:35 +00:00
name: 'clean',
call: /^\!clean/i,
level: 100,
active: 1,
func: (e) => {
var dir_b = fs.readdirSync('./b/'); // Items
var dir_t = fs.readdirSync('./t/'); // Thumbnails
var items_id = [];
var items_dest = [];
var failed_ids = [];
var failed_dests = [];
lib.sql.query("select `id`, `dest` from `f0ck`.`items`", (err, rows, fields) => {
rows.forEach((e,i,a) => {
2016-09-03 12:50:53 +02:00
items_id.push(e.id+'.png');
items_dest.push(e.dest);
2016-09-01 18:02:35 +00:00
});
dir_b.forEach((e,i,a) => {
2016-09-03 12:53:44 +02:00
if( items_dest.indexOf('./b/'+e) === -1 && e != '.empty' ) {
2016-09-01 18:02:35 +00:00
failed_dests.push(e);
2016-09-03 12:50:53 +02:00
fs.unlink('./b/'+e);
2016-09-01 18:02:35 +00:00
}
});
dir_t.forEach((e,i,a) => {
2016-09-03 12:50:53 +02:00
if( items_id.indexOf(e) === -1 ) {
2016-09-01 18:02:35 +00:00
failed_ids.push(e);
2016-09-03 12:50:53 +02:00
fs.unlink('./t/'+e);
2016-09-01 18:02:35 +00:00
}
});
e.reply('unused thumbnails: ' + failed_ids.length + ' ; unused dests: ' + failed_dests.length);
}).on('error', (err) => {
e.reply(err);
});
},
desc: 'testtrigger'
});
};