2022-07-31 17:08:00 +05:00
const { EmbedBuilder } = require ( "discord.js" ) ,
2022-07-26 17:20:10 +05:00
BaseEvent = require ( "../../base/BaseEvent" ) ;
2022-01-04 02:18:28 +05:00
2022-07-23 17:14:42 +05:00
class GuildCreate extends BaseEvent {
constructor ( ) {
super ( {
name : "guildCreate" ,
2022-12-15 21:02:38 +05:00
once : false ,
2022-07-23 17:14:42 +05:00
} ) ;
2022-01-04 02:18:28 +05:00
}
2022-07-23 17:14:42 +05:00
/ * *
*
2022-08-02 17:18:47 +05:00
* @ param { import ( "../../base/JaBa" ) } client
2022-07-23 17:14:42 +05:00
* @ param { import ( "discord.js" ) . Guild } guild
* /
2022-08-02 17:18:47 +05:00
async execute ( client , guild ) {
2022-01-04 02:18:28 +05:00
const messageOptions = { } ;
2022-08-02 17:18:47 +05:00
const userData = await client . findOrCreateUser ( {
2022-12-15 21:02:38 +05:00
id : guild . ownerId ,
2022-01-04 02:18:28 +05:00
} ) ;
2022-01-16 20:54:40 +05:00
2022-01-04 02:18:28 +05:00
if ( ! userData . achievements . invite . achieved ) {
userData . achievements . invite . progress . now += 1 ;
userData . achievements . invite . achieved = true ;
messageOptions . files = [ {
name : "unlocked.png" ,
2022-12-15 21:02:38 +05:00
attachment : "./assets/img/achievements/achievement_unlocked7.png" ,
2022-01-04 02:18:28 +05:00
} ] ;
userData . markModified ( "achievements.invite" ) ;
await userData . save ( ) ;
2022-01-13 00:26:23 +05:00
}
2022-01-04 02:18:28 +05:00
2022-07-31 17:08:00 +05:00
const thanksEmbed = new EmbedBuilder ( )
2022-01-11 02:18:39 +05:00
. setAuthor ( {
2022-12-15 21:02:38 +05:00
name : "Спасибо что добавили меня на свой сервер!" ,
2022-01-11 02:18:39 +05:00
} )
2022-08-26 00:21:26 +05:00
. setDescription ( "Чтобы получить список команд, используйте `/help`!." )
2022-08-02 17:18:47 +05:00
. setColor ( client . config . embed . color )
2022-01-11 02:18:39 +05:00
. setFooter ( {
2022-12-15 21:02:38 +05:00
text : client . config . embed . footer ,
2022-01-11 02:18:39 +05:00
} )
2022-01-04 02:18:28 +05:00
. setTimestamp ( ) ;
2022-08-10 23:53:03 +05:00
messageOptions . embeds = [ thanksEmbed ] ;
2022-01-04 02:18:28 +05:00
2022-01-16 20:54:40 +05:00
const owner = await guild . fetchOwner ( ) ;
owner . send ( messageOptions ) ;
2022-01-04 02:18:28 +05:00
2022-08-26 00:21:26 +05:00
const users = guild . members . cache . filter ( m => ! m . user . bot ) . size ;
const bots = guild . members . cache . filter ( m => m . user . bot ) . size ;
2022-02-05 22:16:07 +05:00
2022-07-31 17:08:00 +05:00
const embed = new EmbedBuilder ( )
2022-01-11 02:18:39 +05:00
. setAuthor ( {
name : guild . name ,
2022-12-15 21:02:38 +05:00
iconURL : guild . iconURL ( ) ,
2022-01-11 02:18:39 +05:00
} )
2022-01-04 02:18:28 +05:00
. setColor ( "#32CD32" )
2022-08-02 17:18:47 +05:00
. setDescription ( ` Зашёл на сервер ** ${ guild . name } **. Н а нём ** ${ users } ** ${ client . getNoun ( users , client . translate ( "misc:NOUNS:USERS:1" ) , client . translate ( "misc:NOUNS:USERS:2" ) , client . translate ( "misc:NOUNS:USERS:5" ) ) } и ** ${ bots } ** ${ client . getNoun ( bots , client . translate ( "misc:NOUNS:BOTS:1" ) , client . translate ( "misc:NOUNS:BOTS:2" ) , client . translate ( "misc:NOUNS:BOTS:5" ) ) } ` ) ;
client . channels . cache . get ( client . config . support . logs ) . send ( {
2022-12-15 21:02:38 +05:00
embeds : [ embed ] ,
2022-01-16 20:59:08 +05:00
} ) ;
2022-01-04 02:18:28 +05:00
}
2022-07-23 17:14:42 +05:00
}
module . exports = GuildCreate ;