1 |
|
import { roleMention } from '@discordjs/builders'; |
2 |
import { GuildBan, GuildMember, Message, MessageEmbed, TextChannel, User } from 'discord.js'; |
import { GuildBan, GuildMember, Message, MessageEmbed, TextChannel, User } from 'discord.js'; |
3 |
import DiscordClient from '../client/Client'; |
import DiscordClient from '../client/Client'; |
4 |
import { timeProcess, timeSince } from '../utils/util'; |
import { timeProcess, timeSince } from '../utils/util'; |
160 |
|
|
161 |
logLeft(member: GuildMember) { |
logLeft(member: GuildMember) { |
162 |
this.channelJoinLeft(async (channel) => { |
this.channelJoinLeft(async (channel) => { |
163 |
|
const roles = await member.roles.cache.filter(role => role.id !== member.guild.id).reduce((acc, val) => ` ${acc} ${roleMention(val.id)}`, ''); |
164 |
|
|
165 |
await channel.send({ |
await channel.send({ |
166 |
embeds: [ |
embeds: [ |
167 |
new MessageEmbed() |
new MessageEmbed() |
171 |
name: member.user.tag, |
name: member.user.tag, |
172 |
iconURL: member.user.displayAvatarURL(), |
iconURL: member.user.displayAvatarURL(), |
173 |
}) |
}) |
174 |
|
.setDescription(`**Roles**\n${roles}`) |
175 |
.addField('Joined at', `${member.joinedAt!.toLocaleString()} (${timeSince(member.joinedAt!.getTime())})`) |
.addField('Joined at', `${member.joinedAt!.toLocaleString()} (${timeSince(member.joinedAt!.getTime())})`) |
176 |
.addField('User ID', member.user.id) |
.addField('User ID', member.user.id) |
177 |
.addField('Bot?', member.user.bot === true ? 'Yes' : 'No') |
.addField('Bot?', member.user.bot === true ? 'Yes' : 'No') |