2022-11-21 20:25:24 -05:00
import Discord , { AuditLogEvent } from 'discord.js' ;
2023-04-14 06:47:58 -04:00
import TClient from '../client.js' ;
2022-11-21 20:25:24 -05:00
export default {
2023-03-05 05:04:10 -05:00
async run ( client :TClient , member :Discord.GuildMember ) {
if ( member . guild ? . id != client . config . mainServer . id ) return ;
const fetchBanlog = await member . guild . fetchAuditLogs ( { limit : 1 , type : AuditLogEvent . MemberBanAdd } )
const banLog = fetchBanlog . entries . first ( ) ;
if ( ! banLog ) return console . log ( ` ${ member . user . tag } was banned from ${ member . guild . name } but no audit log for this user. ` )
const { executor , target , reason } = banLog ;
2023-05-23 01:14:17 -04:00
if ( target . id === member . user . id ) ( client . channels . resolve ( client . config . mainServer . channels . logs ) as Discord . TextChannel ) . send ( { embeds : [
new client . embed ( ) . setColor ( client . config . embedColorRed ) . setTimestamp ( ) . setThumbnail ( member . user . displayAvatarURL ( { size : 2048 } ) ) . setTitle ( ` Member Banned: ${ target . tag } ` ) . setDescription ( ` 🔹 **User** \ n<@ ${ target . id } > \ n \` ${ target . id } \` ` ) . setFooter ( { text : 'Rank data has been wiped.' } ) . addFields (
2023-03-05 05:04:10 -05:00
{ name : '🔹 Moderator' , value : ` <@ ${ executor . id } > \ n \` ${ executor . id } \` ` } ,
{ name : '🔹 Reason' , value : ` ${ reason == null ? 'Reason unspecified' : reason } ` }
) ] } ) ;
2023-04-29 19:08:21 -04:00
else console . log ( ` User was banned from " ${ member . guild . name } " but no audit log could be fetched. ` )
2023-03-05 05:04:10 -05:00
}
2022-11-25 04:49:12 -05:00
}