2024-02-06 21:45:53 +05:00
const 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
/ * *
*
2023-11-05 16:03:23 +05:00
* @ param { import ( "../../base/Client" ) } 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 ) {
2024-05-24 23:11:03 +05:00
const userData = await client . getUserData ( guild . ownerId ) ;
2022-01-16 20:54:40 +05:00
2022-01-04 02:18:28 +05:00
if ( ! userData . achievements . invite . achieved ) {
2023-06-27 21:19:55 +05:00
userData . achievements . invite . progress . now = 1 ;
2022-01-04 02:18:28 +05:00
userData . achievements . invite . achieved = true ;
2023-09-25 21:42:43 +05:00
2022-01-04 02:18:28 +05:00
await userData . save ( ) ;
2022-01-13 00:26:23 +05:00
}
2022-01-04 02:18:28 +05:00
2024-02-06 21:45:53 +05:00
const thanks = client . embed ( {
author : "Thanks for inviting me to your server!" ,
description : "Use </help:1029832476077596773> in your server to get list of all commands!." ,
2023-03-26 18:31:19 +05:00
} ) ;
2022-01-04 02:18:28 +05:00
2024-02-06 21:45:53 +05:00
try {
const owner = await guild . fetchOwner ( ) ;
owner . send ( {
files : [
{
name : "unlocked.png" ,
attachment : "./assets/img/achievements/achievement_unlocked7.png" ,
} ,
] ,
embeds : [ thanks ] ,
} ) ;
} catch ( e ) { /**/ }
2022-02-05 22:16:07 +05:00
2024-02-06 21:45:53 +05:00
if ( client . config . support . logs ) {
const users = guild . members . cache . filter ( m => ! m . user . bot ) . size ;
const bots = guild . members . cache . filter ( m => m . user . bot ) . size ;
const embed = client . embed ( {
author : {
name : guild . name ,
iconURL : guild . iconURL ( ) ,
} ,
description : ` Joined a new guild ** ${ guild . name } **. It has ** ${ users } ** ${ client . functions . getNoun ( users , client . translate ( "misc:NOUNS:USERS:1" ) , client . translate ( "misc:NOUNS:USERS:2" ) , client . translate ( "misc:NOUNS:USERS:5" ) ) } and ** ${ bots } ** ${ client . functions . 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 ( {
embeds : [ embed ] ,
} ) ;
}
2022-01-04 02:18:28 +05:00
}
2022-07-23 17:14:42 +05:00
}
2023-07-05 00:58:06 +05:00
module . exports = GuildCreate ;