dbd.js-new
Version:
dbd.js-new - Simplifica la programación de un bot de discord, dbd.js-new es una versión de dbd.js con soporte
60 lines (47 loc) • 1.46 kB
JavaScript
const ms = require("ms");
const error = require("../../handlers/errors.js");
const parse = require("parse-ms");
const toParse = require("ms-parser");
module.exports = async (d) => {
const code = d.command.code;
const r = code.split("$channelCooldown").length - 1;
const inside = code.split("$channelCooldown")[r].after();
const err = d.inside(inside);
if (err) return d.error(err);
const fields = inside.splits;
const time = fields.shift();
const errorMessage = fields.join(";");
if (!ms(time))
return d.error(
`❌ Invalid time '${time}' in \`$channelCooldown${inside}\``
);
const item = await d.client.db.get(
"main",
`cooldown_${d.command.name}_${d.message.guild.id}_${d.message.channel.id}`
);
if (item && ms(time) - (Date.now() - Number(item["value"])) > 999) {
return error(
d,
errorMessage.split("%time%").join(
toParse(
Object.entries(parse(ms(time) - (Date.now() - Number(item["value"]))))
.map((x, y) => {
if (x[1] > 0 && y < 4) return `${x[1]}${x[0][0]}`;
else return undefined;
})
.filter((e) => e)
.join("")
).string
)
);
} else {
d.client.db.set(
"main",
`cooldown_${d.command.name}_${d.message.guild.id}_${d.message.channel.id}`,
Date.now()
);
}
return {
code: code.replaceLast(`$channelCooldown${inside}`, ""),
};
};