2022-11-15 09:06:18 -05:00
import Discord , { ActionRowBuilder , ButtonBuilder } from 'discord.js' ;
import { TClient } from '../client' ;
export default {
name : 'messageUpdate' ,
execute : async ( client :TClient , oldMsg :Discord.Message , newMsg :Discord.Message ) = > {
if ( ! client . config . botSwitches . logs ) return ;
2022-12-29 17:17:50 -05:00
const disabledChannels = [ '548032776830582794' ]
2022-11-25 04:52:31 -05:00
if ( oldMsg . guild ? . id != client . config . mainServer . id ) return ;
2022-11-15 09:06:18 -05:00
if ( oldMsg . author == null ) return ;
if ( oldMsg ? . author . bot ) return ;
if ( oldMsg . partial ) return ;
if ( newMsg . partial ) return ;
if ( ! newMsg . member ) return ;
2022-12-29 17:17:50 -05:00
if ( disabledChannels ) return ;
2022-11-15 09:06:18 -05:00
const msgarr = newMsg . content . toLowerCase ( ) . split ( ' ' ) ;
if ( client . bannedWords . _content . some ( ( word :string ) = > msgarr . includes ( word ) ) && ( ! client . isStaff ( newMsg . member ) ) ) newMsg . delete ( ) ;
if ( newMsg . content === oldMsg . content ) return ;
2022-11-17 12:58:19 -05:00
const embed = new client . embed ( ) . setColor ( client . config . embedColor ) . setTimestamp ( ) . setAuthor ( { name : ` Author: ${ oldMsg . author . tag } ( ${ oldMsg . author . id } ) ` , iconURL : ` ${ oldMsg . author . displayAvatarURL ( ) } ` } ) . setTitle ( 'Message edited' ) . setDescription ( ` <@ ${ oldMsg . author . id } > \ nOld content: \ n \` \` \` \ n ${ oldMsg . content } \ n \` \` \` \ nNew content: \ n \` \` \` \ n ${ newMsg . content } \` \` \` \ nChannel: <# ${ oldMsg . channelId } > ` ) ;
2022-11-15 09:06:18 -05:00
( client . channels . resolve ( client . config . mainServer . channels . logs ) as Discord . TextChannel ) . send ( { embeds : [ embed ] , components : [ new ActionRowBuilder < ButtonBuilder > ( ) . addComponents ( new ButtonBuilder ( ) . setStyle ( 5 ) . setURL ( ` ${ oldMsg . url } ` ) . setLabel ( 'Jump to message' ) ) ] } ) ;
}
2022-11-25 04:52:31 -05:00
}