2019-01-01 08:32:29 +01:00
const { Listener } = require ( 'discord-akairo' ) ;
2019-01-10 09:00:30 +01:00
const { statsChannel } = require ( '../../config.json' ) ;
2020-04-15 17:15:20 +02:00
const userBlacklist = require ( '../../models' ) . userBlacklist ;
2019-01-01 08:32:29 +01:00
class guildCreateListener extends Listener {
2019-01-02 08:09:45 +01:00
constructor ( ) {
super ( 'guildCreate' , {
emitter : 'client' ,
2019-01-02 21:46:12 +01:00
event : 'guildCreate'
2019-01-02 08:09:45 +01:00
} ) ;
}
2019-01-01 08:32:29 +01:00
2019-01-02 08:09:45 +01:00
async exec ( guild ) {
console . log ( ` ${ guild . name } \n ${ guild . memberCount } users \n Owner: ${ guild . owner . user . username } \n Owner ID: ${ guild . owner } ` ) ;
2020-03-04 02:08:04 +01:00
const channel = this . client . channels . resolve ( statsChannel ) ;
2020-03-07 13:42:47 +01:00
let botCount = guild . members . cache . filter ( member => member . user . bot ) . size ;
2019-11-22 12:30:20 +01:00
const addEmbed = this . client . util . embed ( )
2019-01-02 08:09:45 +01:00
. setColor ( '#52e80d' )
2019-03-31 00:37:35 +01:00
. setTitle ( 'New boiz in town' )
2019-01-02 08:09:45 +01:00
. setURL ( 'https://www.youtube.com/watch?v=6n3pFFPSlW4' )
2019-03-31 00:37:35 +01:00
. setThumbnail ( guild . iconURL ( ) )
. addField ( 'Guild name' , guild . name , true )
. addField ( 'Guild ID' , guild . id , true )
2019-11-07 15:29:58 +01:00
. addField ( 'Total number of members' , guild . memberCount , true )
2020-03-07 13:42:47 +01:00
. addField ( 'Number of users' , guild . memberCount - botCount , true )
. addField ( 'Number of bots' , botCount , true )
2019-03-31 00:37:35 +01:00
. addField ( 'Owner' , guild . owner . user . username , true )
2019-04-01 00:47:37 +02:00
. addField ( 'Owner ID' , guild . owner . id , true )
2020-03-04 02:08:04 +01:00
. setFooter ( ` I'm now in ${ this . client . guilds . cache . size } servers! ` )
2019-01-02 08:09:45 +01:00
. setTimestamp ( ) ;
2020-04-15 17:15:20 +02:00
2020-04-27 19:44:44 +02:00
const blacklist = await userBlacklist . findOne ( { where : { userID : guild . id } } ) ;
2020-04-15 17:15:20 +02:00
if ( blacklist ) {
guild . leave ( ) ;
return channel . send ( ` ${ guild . owner . user . username } ( ${ guild . owner . id } ) tried to add me to their guild while being blacklisted! \n ${ guild . name } ( ${ guild . id } ) ` ) ;
}
2019-01-02 08:09:45 +01:00
channel . send ( { embed : addEmbed } ) ;
}
2019-01-01 08:32:29 +01:00
}
module . exports = guildCreateListener ;