diff --git a/resources/eventsLogger/guildMemberAdd.js b/resources/eventsLogger/guildMemberAdd.js index 5809e8d..d90c6a1 100644 --- a/resources/eventsLogger/guildMemberAdd.js +++ b/resources/eventsLogger/guildMemberAdd.js @@ -1,8 +1,10 @@ 'use strict'; -const { GuildMember } = require("discord.js"); -const { getChannel, defaultEventLogEmbed, trySend } = require("../functions"); -const getColor = require("../getColor"); +const { GuildMember } = require("discord.js"), + { DateTime } = require("luxon"), + { getChannel, defaultEventLogEmbed, trySend } = require("../functions"), + getColor = require("../getColor"), + { DT_PRINT_FORMAT } = require("../../cmds/moderation/src/duration"); /** * Log newly joined Guild Member @@ -18,7 +20,7 @@ module.exports = (member) => { .setTitle("`" + member.user.tag + "` joined") .setThumbnail(member.user.displayAvatarURL({ format: "png", size: 4096, dynamic: true })) .setColor(getColor("cyan")) - .addField("Registered", "**" + member.user.createdAt.toUTCString().slice(0, -4) + "**", true) + .addField("Registered", "**" + DateTime.fromJSDate(member.user.createdAt).toFormat(DT_PRINT_FORMAT) + "**", true) .setDescription(`<@!${member.id}> (${member.id}) just joined.\nWe have ${member.guild.memberCount} total members now.`); return trySend(member.client, log, emb); } diff --git a/resources/eventsLogger/guildMemberRemove.js b/resources/eventsLogger/guildMemberRemove.js index 2d25241..dfa7811 100644 --- a/resources/eventsLogger/guildMemberRemove.js +++ b/resources/eventsLogger/guildMemberRemove.js @@ -1,11 +1,13 @@ 'use strict'; const { GuildMember } = require("discord.js"); +const { DateTime, Interval, Settings } = require("luxon"); +const { DT_PRINT_FORMAT, intervalToDuration } = require("../../cmds/moderation/src/duration"); const { getChannel, defaultEventLogEmbed, trySend, splitOnLength } = require("../functions"); const getColor = require("../getColor"); +Settings.defaultZone = "utc"; /** - * * @param {GuildMember} member * @returns */ @@ -13,16 +15,16 @@ module.exports = (member) => { if (member.guild.DB.settings.eventChannels?.leave) { const log = getChannel(member, member.guild.DB.settings.eventChannels.leave); if (!log) return; - const days = Math.floor(new Date(new Date().valueOf() + member.client.matchTimestamp - member.joinedAt.valueOf()).valueOf() / 86400000), - emb = defaultEventLogEmbed(member.guild); - const RO = member.roles.cache.sort((a, b) => b.position - a.position).map(r => r.id).slice(0, -1), + const days = intervalToDuration(Interval.fromDateTimes(DateTime.fromJSDate(member.joinedAt), DateTime.now())).strings.join(" "), + emb = defaultEventLogEmbed(member.guild), + RO = member.roles.cache.sort((a, b) => b.position - a.position).map(r => r.id).slice(0, -1), RU = splitOnLength(RO, 1010, ">, <@&"); emb .setTitle("`" + member.user.tag + "` left") .setThumbnail(member.user.displayAvatarURL({ format: "png", size: 4096, dynamic: true })) .setColor(getColor("yellow")) - .addField("Registered", "**" + member.user.createdAt.toUTCString().slice(0, -4) + "**", true) - .addField("Joined", "**" + member.joinedAt.toUTCString().slice(0, -4) + "**" + `\n(${days > 0 ? `${days} day${days > 1 ? "s" : ""} ago` : "Today"})`, true) + .addField("Registered", "**" + DateTime.fromJSDate(member.user.createdAt).toFormat(DT_PRINT_FORMAT) + "**", true) + .addField("Joined", "**" + DateTime.fromJSDate(member.joinedAt).toFormat(DT_PRINT_FORMAT) + "**" + `\n(${days > 0 ? `${days} day${days > 1 ? "s" : ""} ago` : "Today"})`, true) .addField("Nick", "`" + member.displayName + "`") .setDescription(`<@!${member.id}> (${member.id}) just left.\nWe have ${member.guild.memberCount} total members now.`); for (const U of RU) { diff --git a/resources/eventsLogger/guildMemberUpdate.js b/resources/eventsLogger/guildMemberUpdate.js index 3a9dd7a..02804ac 100644 --- a/resources/eventsLogger/guildMemberUpdate.js +++ b/resources/eventsLogger/guildMemberUpdate.js @@ -17,11 +17,11 @@ module.exports = (memberold, membernew) => { }; return membernew.user.setDb(membernew.user.DB); } - let log; - const emb = defaultEventLogEmbed(membernew.guild); + let log, thumbMes = ""; + const emb = defaultEventLogEmbed(membernew.guild), oldT = memberold.toJSON().displayAvatarURL; emb.setTitle("Profile `" + memberold.user.tag + "` updated") - .setThumbnail(membernew.user.DB.cachedAvatarURL ?? memberold.toJSON().displayAvatarURL) .setColor(getColor("blue")); + if (membernew.user.DB.cachedAvatarURL || oldT) thumbMes += "This embed's thumbnail is the user's old avatar.\n"; if (membernew.guild.DB.settings.eventChannels?.memberRole) { log = getChannel(membernew, membernew.guild.DB.settings.eventChannels.memberRole); if (membernew.roles.cache.size > memberold.roles.cache.size) { @@ -41,7 +41,7 @@ module.exports = (memberold, membernew) => { if (membernew.user.DB.cachedAvatarURL != membernew.user.displayAvatarURL({ format: "png", size: 4096, dynamic: true })) { emb .setImage(membernew.user.displayAvatarURL({ format: "png", size: 4096, dynamic: true })) - .addField("Avatar", (emb.thumbnail ? "This embed's thumbnail is the user's old avatar.\n" : "") + "The image below is the user's new avatar."); + .addField("Avatar", thumbMes + "The image below is the user's new avatar."); } } membernew.user.refreshDb({ cachedAvatarURL: membernew.user.displayAvatarURL({ format: "png", size: "4096", dynamic: true }) });