import { promises as fs } from "fs"; import cfg from "../../../config.json"; import sql from "../sql.mjs"; import lib from "../lib.mjs"; export default async bot => { return [{ name: "f0ck", call: /^\!f0ck .*/i, active: true, level: 100, f: async e => { switch(e.args[0]) { case "stats": const dirs = { b: await fs.readdir("./public/b"), t: await fs.readdir("./public/t") }; const sizes = { b: lib.formatSize((await Promise.all(dirs.b.map(async file => (await fs.stat(`./public/b/${file}`)).size))).reduce((a, b) => b + a)), t: lib.formatSize((await Promise.all(dirs.t.map(async file => (await fs.stat(`./public/t/${file}`)).size))).reduce((a, b) => b + a)), }; return e.reply(`${dirs.b.length} f0cks: ${sizes.b}, ${dirs.t.length} thumbnails: ${sizes.t}`); case "limit": return e.reply(`up to ${lib.formatSize(cfg.main.maxfilesize)} (${lib.formatSize(cfg.main.maxfilesize * 2.5)} for admins)`); case "thumb": const rows = await sql.query("select id from items"); const dir = (await fs.readdir("./public/t")).filter(d => d.endsWith(".png")).map(e => +e.split(".")[0]); const tmp = []; for(let row of rows) { !dir.includes(row.id) ? tmp.push(row.id) : null; } e.reply(`${tmp.length}, ${rows.length}, ${dir.length}`); break; default: return; } } }] };