UNPKG

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

159 lines (148 loc) 3.64 kB
const moment = require("moment"); const ms = require("parse-ms"); module.exports = async (d) => { let code = d.command.code; const inside = d.unpack(); const err = d.inside(inside); if (err) return d.error(err); let [id, result] = inside.splits; let server = d.client.guilds.cache.get(id ? id : d.message.guild.id); if (!server && result.toLowerCase() != "isbotremoved") result = undefined; if ( ![ "name", "id", "afkchannelid", "afktimeout", "isavailable", "isbotremoved", "isverified", "ispartnered", "description", "created", "region", "membercount", "boostcount", "boostlevel", "updateschannel", "ruleschannel", "systemchannelid", "verificationlvl", "timestamp", "acronym", "emojicount", ].includes(result.toLowerCase()) ) return d.error(`:x: Invalid option in 2nd field of \`$guild${inside}\`.`); switch (result) { case "name": result = server.name; break; case "isavailable": result = server.available; break; case "isbotremoved": try { result = server.deleted; if (result === null) result = undefined; } catch { result = undefined; } break; case "isverified": result = server.verified; break; case "ispartnered": result = server.partnered; break; case "id": result = server.id; break; case "afkchannelid": try { result = server.afkChannelID; if (result === null) result = undefined; } catch { result = undefined; } break; case "afktimeout": try { result = server.afkTimeout; if (result === null) result = undefined; } catch { result = undefined; } break; case "created": result = moment(server.createdAt).format("LLLL"); break; case "timestamp": result = Object.entries(ms(Date.now() - server.createdTimestamp)) .map((x, y) => { if (x[1] > 0 && y < 4) return `${x[1]} ${x[0]}`; }) .filter((x) => x) .join(", "); if (!result) result = undefined; break; case "description": try { result = server.description; if (result === null) result = undefined; } catch { result = undefined; } break; case "region": result = server.region; break; case "membercount": result = server.memberCount; break; case "boostcount": result = server.premiumSubscriptionCount; break; case "boostlevel": result = server.premiumTier; break; case "updateschannel": try { result = server.publicUpdatesChannel; if (result === null) result = undefined; } catch { result = undefined; } break; case "ruleschannel": try { result = server.rulesChannelID; if (result === null) result = undefined; } catch { result = undefined; } break; case "systemchannelid": try { result = server.systemChannelID; if (result === null) result = undefined; } catch { result = undefined; } break; case "verificationlvl": result = server.verificationLevel; break; case "acronym": result = server.nameAcronym; break; case "emojicount": result = server.emojis.cache.size; break; default: undefined; } return { code: code.replaceLast(`$guild${inside}`, result), }; };