Skip to content

Commit f494cca

Browse files
committed
✨ guild events now works on guild only
1 parent afe2799 commit f494cca

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/classes/DiscordEvent.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type { Awaitable, ClientEvents } from "discord.js";
55
export default class DiscordEvent<
66
K extends keyof ClientEvents
77
> extends BaseClass {
8+
guildId?: string;
89
constructor(
910
public event: K,
1011
public listener: (...args: ClientEvents[K]) => Awaitable<void>

src/classes/ModuleLoader.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)