1
- const {
2
- MessageEmbed
3
- } = require ( "discord.js" ) ;
4
- const config = require ( `${ process . cwd ( ) } /botconfig/config.json` ) ;
5
- const {
6
- databasing
7
- } = require ( `${ process . cwd ( ) } /handlers/functions` ) ;
8
- module . exports = client => {
9
-
10
- process . on ( 'unhandledRejection' , ( reason , p ) => {
11
- console . log ( '\n\n\n\n\n=== unhandled Rejection ===' . toUpperCase ( ) . yellow . dim ) ;
12
- console . log ( 'Reason: ' , reason . stack ? String ( reason . stack ) . gray : String ( reason ) . gray ) ;
13
- console . log ( '=== unhandled Rejection ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
14
- } ) ;
15
- process . on ( "uncaughtException" , ( err , origin ) => {
16
- console . log ( '\n\n\n\n\n\n=== uncaught Exception ===' . toUpperCase ( ) . yellow . dim ) ;
17
- console . log ( 'Exception: ' , err . stack ? err . stack : err )
18
- console . log ( '=== uncaught Exception ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
19
- } )
20
- process . on ( 'uncaughtExceptionMonitor' , ( err , origin ) => {
21
- console . log ( '=== uncaught Exception Monitor ===' . toUpperCase ( ) . yellow . dim ) ;
22
- } ) ;
23
- process . on ( 'beforeExit' , ( code ) => {
24
- console . log ( '\n\n\n\n\n=== before Exit ===' . toUpperCase ( ) . yellow . dim ) ;
25
- console . log ( 'Code: ' , code ) ;
26
- console . log ( '=== before Exit ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
27
- } ) ;
28
- process . on ( 'exit' , ( code ) => {
29
- console . log ( '\n\n\n\n\n=== exit ===' . toUpperCase ( ) . yellow . dim ) ;
30
- console . log ( 'Code: ' , code ) ;
31
- console . log ( '=== exit ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
32
- } ) ;
33
- process . on ( 'multipleResolves' , ( type , promise , reason ) => {
34
- console . log ( '\n\n\n\n\n=== multiple Resolves ===' . toUpperCase ( ) . yellow . dim ) ;
35
- console . log ( type , promise , reason ) ;
36
- console . log ( '=== multiple Resolves ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
37
- } ) ;
38
-
39
- //ALWAYS SERVER DEAF THE BOT WHEN JOING
40
- client . on ( "voiceStateUpdate" , ( oldState , newState ) => {
41
- try {
42
- //skip if not the bot
43
- if ( client . user . id != newState . id ) return ;
44
- if (
45
- ( ! oldState . streaming && newState . streaming ) ||
46
- ( oldState . streaming && ! newState . streaming ) ||
47
- ( ! oldState . serverDeaf && newState . serverDeaf ) ||
48
- ( oldState . serverDeaf && ! newState . serverDeaf ) ||
49
- ( ! oldState . serverMute && newState . serverMute ) ||
50
- ( oldState . serverMute && ! newState . serverMute ) ||
51
- ( ! oldState . selfDeaf && newState . selfDeaf ) ||
52
- ( oldState . selfDeaf && ! newState . selfDeaf ) ||
53
- ( ! oldState . selfMute && newState . selfMute ) ||
54
- ( oldState . selfMute && ! newState . selfMute ) ||
55
- ( ! oldState . selfVideo && newState . selfVideo ) ||
56
- ( oldState . selfVideo && ! newState . selfVideo )
57
- )
58
- if ( ( ( ! oldState . channelId && newState . channelId ) || ( oldState . channelId && newState . channelId ) ) ) {
59
- try {
60
- newState . setDeaf ( true ) ;
61
- } catch { }
62
- return ;
63
- }
64
- } catch {
65
-
66
- }
67
-
68
- } ) ;
69
- //ANTI UNMUTE THING
70
- client . on ( "voiceStateUpdate" , async ( oldState , newState ) => {
71
- if ( newState . id === client . user . id && oldState . serverDeaf === true && newState . serverDeaf === false ) {
72
- try {
73
- newState . setDeaf ( true ) . catch ( ( ) => { } ) ;
74
- } catch ( e ) {
75
- //console.log(e)
76
- }
77
- }
78
- } ) ;
79
-
80
- client . on ( "interactionCreate" , async interaction => {
81
- if ( interaction . isButton ( ) && interaction . message . author . id == client . user . id && interaction . customId . includes ( "PREMIUM-" ) ) {
82
- let requesterId = interaction . message . embeds [ 0 ] . footer . text . split ( "-" ) [ 0 ] ;
83
- let guildId = interaction . message . embeds [ 0 ] . footer . text . split ( "-" ) [ 1 ] ;
84
- let guild = client . guilds . cache . get ( guildId )
85
- if ( ! guild ) return interaction . reply ( "❌ **I got kicked out of that Guild**" )
86
- let requester = guild . members . cache . get ( requesterId ) ;
87
- if ( ! requester ) requester = await guild . members . fetch ( requesterId ) . catch ( ( ) => { } ) || false ;
88
- if ( requester ) {
89
- requester . send ( `${ interaction . customId == "PREMIUM-ACCEPT" ? `✅ **Your Requested for: \`${ guild . name } \` got accepted!**` : `❌ **Your Requested for: \`${ guild . name } \` got declined!**` } ` ) . catch ( ( ) => { } ) ;
90
- }
91
- if ( interaction . customId == "PREMIUM-ACCEPT" && requester . id != guild . ownerId ) {
92
- guild . fetchOwner ( owner => {
93
- owner . send ( `✅ **Your Guild: \`${ guild . name } \` got accepted for PREMIUM!**` ) . catch ( ( ) => { } ) ;
94
- } ) . catch ( ( ) => { } ) ;
95
- }
96
- if ( interaction . customId == "PREMIUM-ACCEPT" ) {
97
- if ( client . premium . get ( "global" , "guilds" ) . includes ( guild . id ) ) {
98
- interaction . update ( { embeds : [ interaction . message . embeds [ 0 ] . setTitle ( `✅ Guild is already a PREMIUM Member!` ) ] , components : [ ] } )
99
- } else {
100
- client . premium . push ( "global" , guild . id , "guilds" ) ;
101
- interaction . update ( { embeds : [ interaction . message . embeds [ 0 ] . setTitle ( `✅ Accepted the Guild!` ) ] , components : [ ] } )
102
- }
103
- } else {
104
- if ( client . premium . get ( "global" , "guilds" ) . includes ( guild . id ) ) {
105
- interaction . update ( { embeds : [ interaction . message . embeds [ 0 ] . setTitle ( `✅ Guild is already a PREMIUM Member!` ) ] , components : [ ] } )
106
- } else {
107
- interaction . update ( { embeds : [ interaction . message . embeds [ 0 ] . setTitle ( `❌ Denied the Guild!` ) ] , components : [ ] } )
108
- }
109
- }
110
- }
111
- } )
112
-
113
- client . on ( "guildCreate" , async guild => {
114
- if ( ! guild || guild . available === false ) return
115
- let theowner = "NO OWNER DATA! ID: " ;
116
- await guild . fetchOwner ( ) . then ( ( { user } ) => {
117
- theowner = user ;
118
- } ) . catch ( ( ) => { } )
119
- databasing ( client , guild . id )
120
- let ls = client . settings . get ( guild . id , "language" )
121
- let embed = new MessageEmbed ( )
122
- . setColor ( "GREEN" )
123
- . setTitle ( `<a:Join_vc:863876115584385074> Joined a New Server` )
124
- . addField ( "Guild Info" , `>>> \`\`\`${ guild . name } (${ guild . id } )\`\`\`` )
125
- . addField ( "Owner Info" , `>>> \`\`\`${ theowner ? `${ theowner . tag } (${ theowner . id } )` : `${ theowner } (${ guild . ownerId } )` } \`\`\`` )
126
- . addField ( "Member Count" , `>>> \`\`\`${ guild . memberCount } \`\`\`` )
127
- . addField ( "Servers Bot is in" , `>>> \`\`\`${ client . guilds . cache . size } \`\`\`` )
128
- . addField ( "Leave Server:" , `>>> \`\`\`${ config . prefix } leaveserver ${ guild . id } \`\`\`` )
129
- . setThumbnail ( guild . iconURL ( { dynamic : true } ) ) ;
130
- for ( const owner of config . ownerIDS ) {
131
- client . users . fetch ( owner ) . then ( user => {
132
- user . send ( { embeds : [ embed ] } ) . catch ( ( ) => { } )
133
- } ) . catch ( ( ) => { } ) ;
134
- }
135
- } ) ;
136
-
137
- client . on ( "guildDelete" , async guild => {
138
- if ( ! guild || guild . available === false ) return
139
- let theowner = "NO OWNER DATA! ID: " ;
140
- await guild . fetchOwner ( ) . then ( ( { user } ) => {
141
- theowner = user ;
142
- } ) . catch ( ( ) => { } )
143
- let ls = "en"
144
- let embed = new MessageEmbed ( )
145
- . setColor ( "RED" )
146
- . setTitle ( `<:leaves:866356598356049930> Left a Server` )
147
- . addField ( "Guild Info" , `>>> \`\`\`${ guild . name } (${ guild . id } )\`\`\`` )
148
- . addField ( "Owner Info" , `>>> \`\`\`${ theowner ? `${ theowner . tag } (${ theowner . id } )` : `${ theowner } (${ guild . ownerId } )` } \`\`\`` )
149
- . addField ( "Member Count" , `>>> \`\`\`${ guild . memberCount } \`\`\`` )
150
- . addField ( "Servers Bot is in" , `>>> \`\`\`${ client . guilds . cache . size } \`\`\`` )
151
- . addField ( "Leave Server:" , `>>> \`\`\`${ config . prefix } leaveserver ${ guild . id } \`\`\`` )
152
- . setThumbnail ( guild . iconURL ( { dynamic : true } ) ) ;
153
- for ( const owner of config . ownerIDS ) {
154
- client . users . fetch ( owner ) . then ( user => {
155
- user . send ( { embeds : [ embed ] } ) . catch ( ( ) => { } )
156
- } ) . catch ( ( ) => { } ) ;
157
- }
158
- } ) ;
1
+ const {
2
+ MessageEmbed
3
+ } = require ( "discord.js" ) ;
4
+ const config = require ( `${ process . cwd ( ) } /botconfig/config.json` ) ;
5
+ const {
6
+ databasing
7
+ } = require ( `${ process . cwd ( ) } /handlers/functions` ) ;
8
+ module . exports = client => {
9
+
10
+ process . on ( 'unhandledRejection' , ( reason , p ) => {
11
+ console . log ( '\n\n\n\n\n=== unhandled Rejection ===' . toUpperCase ( ) . yellow . dim ) ;
12
+ console . log ( 'Reason: ' , reason . stack ? String ( reason . stack ) . gray : String ( reason ) . gray ) ;
13
+ console . log ( '=== unhandled Rejection ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
14
+ } ) ;
15
+ process . on ( "uncaughtException" , ( err , origin ) => {
16
+ console . log ( '\n\n\n\n\n\n=== uncaught Exception ===' . toUpperCase ( ) . yellow . dim ) ;
17
+ console . log ( 'Exception: ' , err . stack ? err . stack : err )
18
+ console . log ( '=== uncaught Exception ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
19
+ } )
20
+ process . on ( 'uncaughtExceptionMonitor' , ( err , origin ) => {
21
+ console . log ( '=== uncaught Exception Monitor ===' . toUpperCase ( ) . yellow . dim ) ;
22
+ } ) ;
23
+ process . on ( 'beforeExit' , ( code ) => {
24
+ console . log ( '\n\n\n\n\n=== before Exit ===' . toUpperCase ( ) . yellow . dim ) ;
25
+ console . log ( 'Code: ' , code ) ;
26
+ console . log ( '=== before Exit ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
27
+ } ) ;
28
+ process . on ( 'exit' , ( code ) => {
29
+ console . log ( '\n\n\n\n\n=== exit ===' . toUpperCase ( ) . yellow . dim ) ;
30
+ console . log ( 'Code: ' , code ) ;
31
+ console . log ( '=== exit ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
32
+ } ) ;
33
+ process . on ( 'multipleResolves' , ( type , promise , reason ) => {
34
+ console . log ( '\n\n\n\n\n=== multiple Resolves ===' . toUpperCase ( ) . yellow . dim ) ;
35
+ console . log ( type , promise , reason ) ;
36
+ console . log ( '=== multiple Resolves ===\n\n\n\n\n' . toUpperCase ( ) . yellow . dim ) ;
37
+ } ) ;
38
+
39
+ //ALWAYS SERVER DEAF THE BOT WHEN JOING
40
+ client . on ( "voiceStateUpdate" , ( oldState , newState ) => {
41
+ try {
42
+ //skip if not the bot
43
+ if ( client . user . id != newState . id ) return ;
44
+ if (
45
+ ( ! oldState . streaming && newState . streaming ) ||
46
+ ( oldState . streaming && ! newState . streaming ) ||
47
+ ( ! oldState . serverDeaf && newState . serverDeaf ) ||
48
+ ( oldState . serverDeaf && ! newState . serverDeaf ) ||
49
+ ( ! oldState . serverMute && newState . serverMute ) ||
50
+ ( oldState . serverMute && ! newState . serverMute ) ||
51
+ ( ! oldState . selfDeaf && newState . selfDeaf ) ||
52
+ ( oldState . selfDeaf && ! newState . selfDeaf ) ||
53
+ ( ! oldState . selfMute && newState . selfMute ) ||
54
+ ( oldState . selfMute && ! newState . selfMute ) ||
55
+ ( ! oldState . selfVideo && newState . selfVideo ) ||
56
+ ( oldState . selfVideo && ! newState . selfVideo )
57
+ )
58
+ if ( ( ( ! oldState . channelId && newState . channelId ) || ( oldState . channelId && newState . channelId ) ) ) {
59
+ try {
60
+ newState . setDeaf ( true ) ;
61
+ } catch { }
62
+ return ;
63
+ }
64
+ } catch {
65
+
66
+ }
67
+
68
+ } ) ;
69
+ //ANTI UNMUTE THING
70
+ client . on ( "voiceStateUpdate" , async ( oldState , newState ) => {
71
+ if ( newState . id === client . user . id && oldState . serverDeaf === true && newState . serverDeaf === false ) {
72
+ try {
73
+ newState . setDeaf ( true ) . catch ( ( ) => { } ) ;
74
+ } catch ( e ) {
75
+ //console.log(e)
76
+ }
77
+ }
78
+ } ) ;
79
+
80
+ client . on ( "interactionCreate" , async interaction => {
81
+ if ( interaction . isButton ( ) && interaction . message . author . id == client . user . id && interaction . customId . includes ( "PREMIUM-" ) ) {
82
+ let requesterId = interaction . message . embeds [ 0 ] . footer . text . split ( "-" ) [ 0 ] ;
83
+ let guildId = interaction . message . embeds [ 0 ] . footer . text . split ( "-" ) [ 1 ] ;
84
+ let guild = client . guilds . cache . get ( guildId )
85
+ if ( ! guild ) return interaction . reply ( "❌ **I got kicked out of that Guild**" )
86
+ let requester = guild . members . cache . get ( requesterId ) ;
87
+ if ( ! requester ) requester = await guild . members . fetch ( requesterId ) . catch ( ( ) => { } ) || false ;
88
+ if ( requester ) {
89
+ requester . send ( `${ interaction . customId == "PREMIUM-ACCEPT" ? `✅ **Your Requested for: \`${ guild . name } \` got accepted!**` : `❌ **Your Requested for: \`${ guild . name } \` got declined!**` } ` ) . catch ( ( ) => { } ) ;
90
+ }
91
+ if ( interaction . customId == "PREMIUM-ACCEPT" && requester . id != guild . ownerId ) {
92
+ guild . fetchOwner ( owner => {
93
+ owner . send ( `✅ **Your Guild: \`${ guild . name } \` got accepted for PREMIUM!**` ) . catch ( ( ) => { } ) ;
94
+ } ) . catch ( ( ) => { } ) ;
95
+ }
96
+ if ( interaction . customId == "PREMIUM-ACCEPT" ) {
97
+ if ( client . premium . get ( "global" , "guilds" ) . includes ( guild . id ) ) {
98
+ interaction . update ( { embeds : [ interaction . message . embeds [ 0 ] . setTitle ( `✅ Guild is already a PREMIUM Member!` ) ] , components : [ ] } )
99
+ } else {
100
+ client . premium . push ( "global" , guild . id , "guilds" ) ;
101
+ interaction . update ( { embeds : [ interaction . message . embeds [ 0 ] . setTitle ( `✅ Accepted the Guild!` ) ] , components : [ ] } )
102
+ }
103
+ } else {
104
+ if ( client . premium . get ( "global" , "guilds" ) . includes ( guild . id ) ) {
105
+ interaction . update ( { embeds : [ interaction . message . embeds [ 0 ] . setTitle ( `✅ Guild is already a PREMIUM Member!` ) ] , components : [ ] } )
106
+ } else {
107
+ interaction . update ( { embeds : [ interaction . message . embeds [ 0 ] . setTitle ( `❌ Denied the Guild!` ) ] , components : [ ] } )
108
+ }
109
+ }
110
+ }
111
+ } )
112
+
113
+ client . on ( "guildCreate" , async guild => {
114
+ if ( ! guild || guild . available === false ) return
115
+ let theowner = "NO OWNER DATA! ID: " ;
116
+ await guild . fetchOwner ( ) . then ( ( { user } ) => {
117
+ theowner = user ;
118
+ } ) . catch ( ( ) => { } )
119
+ databasing ( client , guild . id )
120
+ let ls = client . settings . get ( guild . id , "language" )
121
+ let embed = new MessageEmbed ( )
122
+ . setColor ( "GREEN" )
123
+ . setTitle ( `<a:Join_vc:863876115584385074> Joined a New Server` )
124
+ . addField ( "Guild Info" , `>>> \`\`\`${ guild . name } (${ guild . id } )\`\`\`` )
125
+ . addField ( "Owner Info" , `>>> \`\`\`${ theowner ? `${ theowner . tag } (${ theowner . id } )` : `${ theowner } (${ guild . ownerId } )` } \`\`\`` )
126
+ . addField ( "Member Count" , `>>> \`\`\`${ guild . memberCount } \`\`\`` )
127
+ . addField ( "Servers Bot is in" , `>>> \`\`\`${ client . guilds . cache . size } \`\`\`` )
128
+ . addField ( "Leave Server:" , `>>> \`\`\`${ config . prefix } leaveserver ${ guild . id } \`\`\`` )
129
+ . setThumbnail ( guild . iconURL ( { dynamic : true } ) ) ;
130
+ for ( const owner of config . ownerIDS ) {
131
+ client . users . fetch ( owner ) . then ( user => {
132
+ user . send ( { embeds : [ embed ] } ) . catch ( ( ) => { } )
133
+ } ) . catch ( ( ) => { } ) ;
134
+ }
135
+ } ) ;
136
+
137
+ client . on ( "guildDelete" , async guild => {
138
+ if ( ! guild || guild . available === false ) return
139
+ let theowner = "NO OWNER DATA! ID: " ;
140
+ await guild . fetchOwner ( ) . then ( ( { user } ) => {
141
+ theowner = user ;
142
+ } ) . catch ( ( ) => { } )
143
+ let ls = "en"
144
+ let embed = new MessageEmbed ( )
145
+ . setColor ( "RED" )
146
+ . setTitle ( `<:leaves:866356598356049930> Left a Server` )
147
+ . addField ( "Guild Info" , `>>> \`\`\`${ guild . name } (${ guild . id } )\`\`\`` )
148
+ . addField ( "Owner Info" , `>>> \`\`\`${ theowner ? `${ theowner . tag } (${ theowner . id } )` : `${ theowner } (${ guild . ownerId } )` } \`\`\`` )
149
+ . addField ( "Member Count" , `>>> \`\`\`${ guild . memberCount } \`\`\`` )
150
+ . addField ( "Servers Bot is in" , `>>> \`\`\`${ client . guilds . cache . size } \`\`\`` )
151
+ . addField ( "Leave Server:" , `>>> \`\`\`${ config . prefix } leaveserver ${ guild . id } \`\`\`` )
152
+ . setThumbnail ( guild . iconURL ( { dynamic : true } ) ) ;
153
+ for ( const owner of config . ownerIDS ) {
154
+ client . users . fetch ( owner ) . then ( user => {
155
+ user . send ( { embeds : [ embed ] } ) . catch ( ( ) => { } )
156
+ } ) . catch ( ( ) => { } ) ;
157
+ }
158
+ } ) ;
159
159
}
0 commit comments