first on gitea

This commit is contained in:
st committed 2026-03-21 13:25:24 -05:00
1 parent 27894dac21
commit 94bf054772
22 files changed
+4829 -4657

No files matched your search

+53 -53
View File
@@ -1,53 +1,53 @@
'use strict';
const fs = require('fs');
const path = require('path');
const { Events } = require('discord.js');
const guildMemberAddEvent = require('../events/guildMemberAdd');
const logger = require('../utils/logger');
/**
* Loads all event files from src/events and registers them on the client.
* Each event file must export: { name, once?, execute }
*
* @param {import('discord.js').Client} client
*/
function loadEvents(client) {
const eventsPath = path.join(__dirname, '..', 'events');
const eventFiles = fs
.readdirSync(eventsPath)
.filter((file) => file.endsWith('.js'));
let loaded = 0;
for (const file of eventFiles) {
try {
const event = require(path.join(eventsPath, file));
if (!event.name || typeof event.execute !== 'function') {
logger.warn(
`[eventhandler] skipping ${file}: missing "name" or "execute"`,
);
continue;
}
if (event.once) {
client.once(event.name, (...args) => event.execute(client, ...args));
} else {
client.on(event.name, (...args) => event.execute(client, ...args));
}
logger.debug(`[eventhandler] registered event: ${event.name}`);
loaded++;
} catch (err) {
logger.error(`[eventhandler] failed to load ${file}:`, err);
}
}
client.on(Events.GuildMemberAdd, guildMemberAddEvent.bind(null, client));
loaded++;
logger.info(`[eventhandler] ${loaded} event(s) registered`);
}
module.exports = { loadEvents };
'use strict';
const fs = require('fs');
const path = require('path');
const { Events } = require('discord.js');
const guildMemberAddEvent = require('../events/guildMemberAdd');
const logger = require('../utils/logger');
/**
* Loads all event files from src/events and registers them on the client.
* Each event file must export: { name, once?, execute }
*
* @param {import('discord.js').Client} client
*/
function loadEvents(client) {
const eventsPath = path.join(__dirname, '..', 'events');
const eventFiles = fs
.readdirSync(eventsPath)
.filter((file) => file.endsWith('.js'));
let loaded = 0;
for (const file of eventFiles) {
try {
const event = require(path.join(eventsPath, file));
if (!event.name || typeof event.execute !== 'function') {
logger.warn(
`[eventhandler] skipping ${file}: missing "name" or "execute"`,
);
continue;
}
if (event.once) {
client.once(event.name, (...args) => event.execute(client, ...args));
} else {
client.on(event.name, (...args) => event.execute(client, ...args));
}
logger.debug(`[eventhandler] registered event: ${event.name}`);
loaded++;
} catch (err) {
logger.error(`[eventhandler] failed to load ${file}:`, err);
}
}
client.on(Events.GuildMemberAdd, guildMemberAddEvent.bind(null, client));
loaded++;
logger.info(`[eventhandler] ${loaded} event(s) registered`);
}
module.exports = { loadEvents };