diff --git a/cmds/profile/avatar.js b/cmds/profile/avatar.js index 944d769..d62dd4e 100644 --- a/cmds/profile/avatar.js +++ b/cmds/profile/avatar.js @@ -17,7 +17,7 @@ module.exports = class avatar extends commando.Command { } async run(msg, arg) { const doc = msg.guild.DB.settings || msg.author.DB; - const footerQuote = doc.defaultEmbed?.footerQuote; + const footerQuote = doc.defaultEmbed?.footerQuote || ""; const option = "";// || arg.match(/(? b.position - a.position).map(r => r.id).slice(0, -1), RFS = splitOnLength(RI, 1010, ">, <@&"), INT = Interval.fromDateTimes(DateTime.fromJSDate(MEM.joinedAt), DateTime.now()); + emb.addField("Joined", defaultDateFormat(MEM.joinedAt) + `\n(${intervalToDuration(INT).strings.join(" ")} ago)`) .addField("Nick", `\`${MEM.displayName}\``); + if (RFS[0]?.length > 0) { for (const p of RFS) { emb.addField(emb.fields.length === 4 ? "Roles" : "​", "<@&" + p.join(">, <@&") + ">"); diff --git a/cmds/profile/servav.js b/cmds/profile/servav.js index a3f7b66..ce8de37 100644 --- a/cmds/profile/servav.js +++ b/cmds/profile/servav.js @@ -17,40 +17,35 @@ module.exports = class servav extends commando.Command { }); } run(msg, arg) { + if (!msg.author.DB) await msg.author.dbLoad(); + if (msg.guild && !msg.guild.DB) await msg.guild.dbLoad(); const server_ID = arg.split(/ +/)[0]; - const doc = msg.guild?.id ?? msg.author.id; - const col = database.collection(msg.guild ? "Guild" : "User"); - col.findOne({ document: doc }, (err, res) => { - if (err) { - errLog(err, msg, this.client); - } - const footerQuote = res?.["settings"]?.defaultEmbed?.footerQuote; - let icon, target; - if (server_ID && this.client.owners.includes(msg.author)) { - if (!/\D/.test(server_ID)) { - target = this.client.guilds.cache.get(server_ID); - } else { - return trySend(this.client, msg, "Invalid `server_ID` provided!"); - } + const footerQuote = (msg.guild?.DB.settings || msg.author.DB).defaultEmbed?.footerQuote || ""; + let icon, target; + if (server_ID && this.client.owners.includes(msg.author)) { + if (!/\D/.test(server_ID)) { + target = this.client.guilds.cache.get(server_ID); } else { - target = msg.guild; + return trySend(this.client, msg, "Invalid `server_ID` provided!"); } - if (target) { - icon = target.iconURL({ size: 4096, dynamic: true }); - } else { - return trySend(this.client, msg, "I'm not in that server..."); + } else { + target = msg.guild; + } + if (target) { + icon = target.iconURL({ size: 4096, dynamic: true }); + } else { + return trySend(this.client, msg, "I'm not in that server..."); + } + if (icon) { + let embed = new MessageEmbed() + .setImage(icon) + .setTitle(target.name) + .setFooter(footerQuote); + if (target.owner.displayColor) { + const color = getColor(target.owner.displayColor) + embed.setColor(color); } - if (icon) { - let embed = new MessageEmbed() - .setImage(icon) - .setTitle(target.name) - .setFooter(footerQuote ?? ""); - if (target.owner.displayColor) { - const color = getColor(target.owner.displayColor) - embed.setColor(color); - } - return trySend(this.client, msg, embed); - } - }); + return trySend(this.client, msg, embed); + } } }; \ No newline at end of file diff --git a/resources/functions.js b/resources/functions.js index 2711b66..f5624ae 100644 --- a/resources/functions.js +++ b/resources/functions.js @@ -261,7 +261,7 @@ function adCheck(content) { * @returns {MessageEmbed} */ function defaultImageEmbed(msg, image, title, footerQuote) { - if (!footerQuote) footerQuote = (msg.guild ?? msg.author).DB.defaultEmbed?.footerQuote || ""; + if (!footerQuote) footerQuote = (msg.guild?.DB.settings || msg.author.DB).defaultEmbed?.footerQuote || ""; const emb = new MessageEmbed() .setImage(image) .setColor(msg.guild ? getColor((msg.member || msg).displayColor) : randomColors[Math.floor(Math.random() * randomColors.length)]) @@ -501,14 +501,17 @@ const reValidURL = /^https?:\/\/[^\s\n]+\.[^\s\n][^\s\n]/; * Get user * @param {Message} msg * @param {string} key - * @param {boolean} nonID + * @param {boolean} inGuild * @returns {User} */ -function getUser(msg, key, nonID) { +async function getUser(msg, key, inGuild = false) { if (!(msg || key)) return; const use = cleanMentionID(key); if (!use || use.length === 0) return; - if (/^\d{17,19}$/.test(use)) return msg.client.users.cache.get(use); else if (nonID) return getMember(msg.guild, use)?.[0].user; + if (/^\d{17,19}$/.test(use)) { + const ret = msg.client.users.cache.get(use); + if (ret) return ret; else return msg.client.users.fetch(use); + } else if (inGuild) return getMember(msg.guild, use)?.[0].user; } function getRole(guild, key) {