@@ -89,7 +89,7 @@ export default class DiscordModuleLoader {
8989 if ( existsSync ( resolve ( dir , folder , "events" ) ) )
9090 this . addToColl (
9191 guild . events ,
92- await this . loadEvents ( resolve ( dir , folder , "events" ) )
92+ await this . loadEvents ( resolve ( dir , folder , "events" ) , guild . id )
9393 ) ;
9494
9595 if ( existsSync ( resolve ( dir , folder , "commands" ) ) )
@@ -139,7 +139,7 @@ export default class DiscordModuleLoader {
139139 if ( existsSync ( resolve ( dir , folder , "events" ) ) )
140140 this . addToColl (
141141 module . events ,
142- await this . loadEvents ( resolve ( dir , folder , "events" ) )
142+ await this . loadEvents ( resolve ( dir , folder , "events" ) , guildId )
143143 ) ;
144144
145145 if ( existsSync ( resolve ( dir , folder , "commands" ) ) )
@@ -165,7 +165,7 @@ export default class DiscordModuleLoader {
165165 for ( const [ key , value ] of add ) coll . set ( key , value ) ;
166166 }
167167
168- async loadEvents ( dir = "events" ) {
168+ async loadEvents ( dir = "events" , guildId ?: string ) {
169169 dir = resolve ( dir ) ;
170170 if ( ! existsSync ( dir ) ) return [ ] ;
171171
@@ -181,8 +181,16 @@ export default class DiscordModuleLoader {
181181 if ( ! ( event instanceof DiscordEvent ) )
182182 throw new Error ( `Event ${ file } is not an Event` ) ;
183183
184+ if ( guildId ) event . guildId = guildId ;
185+
184186 this . client . on ( event . event , ( ...args ) => {
185- if ( ! event . disabled ) event . listener ( ...args ) ;
187+ if (
188+ ! event . disabled &&
189+ event . guildId &&
190+ args [ 0 ] ?. guild ?. id === event . guildId
191+ )
192+ event . listener ( ...args ) ;
193+ if ( ! event . disabled && ! event . guildId ) event . listener ( ...args ) ;
186194 } ) ;
187195
188196 returnEvents . push ( [ event . event , event ] ) ;
0 commit comments