Use DateTime

This commit is contained in:
Neko-Life 2021-07-22 13:45:27 +07:00
parent 6833668a04
commit c7745c17fd
3 changed files with 18 additions and 14 deletions

View file

@ -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);
}

View file

@ -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) {

View file

@ -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 }) });