1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
import { Command, CommandoMessage } from 'discord.js-commando';
import emoji from 'emoji-random'
import { formatDistance, formatRelative } from 'date-fns'
import { stripIndents } from 'common-tags'
module.exports = class OldestMemberServer extends Command {
constructor(client) {
super(client, {
name: 'oldestmember',
aliases: [
'oldest-member',
'oldestuser',
'oldest-user',
'oldest'
],
group: 'fun',
memberName: 'oldestmember',
description: 'Checks who the oldest member on the server is.',
examples: ['uwu!oldestmember'],
throttling: {
usages: 5,
duration: 30
},
userPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
clientPermissions: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
guildOnly: true
});
}
run(msg: CommandoMessage) {
const oldest = msg.guild.members
.cache.sort((member1, member2) => {
const timestamp1 = member1.user.createdTimestamp
const timestamp2 = member2.user.createdTimestamp
if (timestamp1 > timestamp2) {
return 1
} else if (timestamp1 < timestamp2) {
return -1
}
return 0
})
.first()?.user
const { createdAt } = oldest
const age = formatDistance(createdAt, new Date())
const date = formatRelative(createdAt, new Date())
msg.reply(stripIndents`${oldest.tag} is the oldest member in this server.
Their account is **${age}** old (created **${date}**).` + ' ' + emoji.random())
}
};
|