Skip to content

Commit 9a34798

Browse files
committed
OOP: Fix guildMemberLeave
1 parent 0c4b99b commit 9a34798

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

src/events/guildMemberRemove/logMemberLeave.js

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,25 @@ module.exports = async (client, oldMember) => {
5050
return [result, messages]
5151
}
5252

53-
const joinedMoment = moment.utc(oldMember.joinedTimestamp)
54-
const leftMoment = moment.utc()
55-
const durationStr = timeConversion(
56-
moment.duration(
57-
Math.abs(
58-
joinedMoment.diff(
59-
leftMoment
53+
let joinedMoment = null
54+
const leftMoment = moment.utc()
55+
let durationStr = ""
56+
const validJoin = oldMember.joinedAt && oldMember.joinedTimestamp
57+
const validLeave = leftMoment
58+
59+
if (validJoin && validLeave) {
60+
joinedMoment = moment.utc(oldMember.joinedTimestamp)
61+
durationStr = timeConversion(
62+
moment.duration(
63+
Math.abs(
64+
joinedMoment.diff(
65+
leftMoment
66+
)
6067
)
6168
)
6269
)
63-
)
70+
}
71+
6472

6573
// Prepare the log embed
6674
const logEmbed = new RookEmbed(client, {
@@ -84,7 +92,7 @@ module.exports = async (client, oldMember) => {
8492
// Left DateTime
8593
{
8694
name: 'Left At',
87-
value: leftMoment
95+
value: validLeave
8896
? timeFormat(leftMoment.format("x"), { with: "relative" })
8997
: 'Unknown' // Handle cases where leftAt is null
9098
}
@@ -93,7 +101,7 @@ module.exports = async (client, oldMember) => {
93101
// Joined DateTime
94102
{
95103
name: 'Joined At',
96-
value: joinedMoment
104+
value: validJoin
97105
? (timeFormat(joinedMoment.format("x"), { with: "relative" }))
98106
: 'Unknown' // Handle cases where joinedAt is null
99107
}
@@ -102,7 +110,7 @@ module.exports = async (client, oldMember) => {
102110
// Duration DateTime
103111
{
104112
name: 'Lasted For',
105-
value: durationStr != ""
113+
value: (validJoin && validLeave)
106114
? durationStr
107115
: 'Unknown' // Handle cases where Duration is null
108116
}
@@ -141,15 +149,15 @@ module.exports = async (client, oldMember) => {
141149
guild: oldMember.guild.name,
142150
member: oldMember.user.tag,
143151
action: "leave",
144-
joinAt: oldMember.joinedAt,
145-
joinStamp: oldMember.joinedTimestamp,
146-
joinMoment: joinMoment,
147-
leftMoment: leftMoment,
148-
joinMomentStamp: joinMoment.format("x"),
149-
leftMomentStamp: leftMoment.format("x"),
150-
diffStamp: joinMoment.diff(leftMoment),
151-
durationMoment = moment.duration(Math.abs(diffStamp)),
152-
duration: durationStr
152+
joinAt: validJoin ? oldMember.joinedAt : null,
153+
joinStamp: validJoin ? oldMember.joinedTimestamp : null,
154+
joinMoment: validJoin ? joinedMoment : null,
155+
leftMoment: validLeave ? leftMoment : null,
156+
joinMomentStamp: validJoin ? joinedMoment.format("x") : null,
157+
leftMomentStamp: validLeave ? leftMoment.format("x") : null,
158+
diffStamp: (validJoin && validLeave) ? joinedMoment.diff(leftMoment) : null,
159+
durationMoment: (validJoin && validLeave) ? moment.duration(Math.abs(joinedMoment.diff(leftMoment))) : null,
160+
duration: (validJoin && validLeave) ? durationStr : null
153161
}
154162
messages.push("🚪 " + JSON.stringify(console_log))
155163

0 commit comments

Comments
 (0)