mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
refactor(ActionsManager): Register actions without using class name (#11080)
* refactor: register actions without using class name * fix: this is `module.exports`
This commit is contained in:
@@ -36,12 +36,14 @@ async function writeClientActionImports() {
|
||||
for (const file of (await readdir(actionsDirectory)).sort()) {
|
||||
if (file === 'Action.js' || file === 'ActionsManager.js') continue;
|
||||
|
||||
lines.push(` this.register(require('./${file.slice(0, -3)}'));`);
|
||||
const actionName = file.slice(0, -3);
|
||||
|
||||
lines.push(` this.${actionName} = this.load(require('./${file}'));`);
|
||||
}
|
||||
|
||||
lines.push(' }\n');
|
||||
lines.push(' register(Action) {');
|
||||
lines.push(" this[Action.name.replace(/Action$/, '')] = new Action(this.client);");
|
||||
lines.push(' load(Action) {');
|
||||
lines.push(' return new Action(this.client);');
|
||||
lines.push(' }');
|
||||
lines.push('}\n');
|
||||
lines.push('module.exports = ActionsManager;\n');
|
||||
|
||||
@@ -11,74 +11,74 @@ class ActionsManager {
|
||||
constructor(client) {
|
||||
this.client = client;
|
||||
|
||||
this.register(require('./ApplicationCommandPermissionsUpdate'));
|
||||
this.register(require('./AutoModerationActionExecution'));
|
||||
this.register(require('./AutoModerationRuleCreate'));
|
||||
this.register(require('./AutoModerationRuleDelete'));
|
||||
this.register(require('./AutoModerationRuleUpdate'));
|
||||
this.register(require('./ChannelCreate'));
|
||||
this.register(require('./ChannelDelete'));
|
||||
this.register(require('./ChannelUpdate'));
|
||||
this.register(require('./EntitlementCreate'));
|
||||
this.register(require('./EntitlementDelete'));
|
||||
this.register(require('./EntitlementUpdate'));
|
||||
this.register(require('./GuildAuditLogEntryCreate'));
|
||||
this.register(require('./GuildBanAdd'));
|
||||
this.register(require('./GuildBanRemove'));
|
||||
this.register(require('./GuildChannelsPositionUpdate'));
|
||||
this.register(require('./GuildDelete'));
|
||||
this.register(require('./GuildEmojiCreate'));
|
||||
this.register(require('./GuildEmojiDelete'));
|
||||
this.register(require('./GuildEmojiUpdate'));
|
||||
this.register(require('./GuildEmojisUpdate'));
|
||||
this.register(require('./GuildIntegrationsUpdate'));
|
||||
this.register(require('./GuildMemberRemove'));
|
||||
this.register(require('./GuildMemberUpdate'));
|
||||
this.register(require('./GuildRoleCreate'));
|
||||
this.register(require('./GuildRoleDelete'));
|
||||
this.register(require('./GuildRoleUpdate'));
|
||||
this.register(require('./GuildRolesPositionUpdate'));
|
||||
this.register(require('./GuildScheduledEventCreate'));
|
||||
this.register(require('./GuildScheduledEventDelete'));
|
||||
this.register(require('./GuildScheduledEventUpdate'));
|
||||
this.register(require('./GuildScheduledEventUserAdd'));
|
||||
this.register(require('./GuildScheduledEventUserRemove'));
|
||||
this.register(require('./GuildSoundboardSoundDelete.js'));
|
||||
this.register(require('./GuildStickerCreate'));
|
||||
this.register(require('./GuildStickerDelete'));
|
||||
this.register(require('./GuildStickerUpdate'));
|
||||
this.register(require('./GuildStickersUpdate'));
|
||||
this.register(require('./GuildUpdate'));
|
||||
this.register(require('./InteractionCreate'));
|
||||
this.register(require('./InviteCreate'));
|
||||
this.register(require('./InviteDelete'));
|
||||
this.register(require('./MessageCreate'));
|
||||
this.register(require('./MessageDelete'));
|
||||
this.register(require('./MessageDeleteBulk'));
|
||||
this.register(require('./MessagePollVoteAdd'));
|
||||
this.register(require('./MessagePollVoteRemove'));
|
||||
this.register(require('./MessageReactionAdd'));
|
||||
this.register(require('./MessageReactionRemove'));
|
||||
this.register(require('./MessageReactionRemoveAll'));
|
||||
this.register(require('./MessageReactionRemoveEmoji'));
|
||||
this.register(require('./MessageUpdate'));
|
||||
this.register(require('./PresenceUpdate'));
|
||||
this.register(require('./StageInstanceCreate'));
|
||||
this.register(require('./StageInstanceDelete'));
|
||||
this.register(require('./StageInstanceUpdate'));
|
||||
this.register(require('./ThreadCreate'));
|
||||
this.register(require('./ThreadDelete'));
|
||||
this.register(require('./ThreadListSync'));
|
||||
this.register(require('./ThreadMemberUpdate'));
|
||||
this.register(require('./ThreadMembersUpdate'));
|
||||
this.register(require('./TypingStart'));
|
||||
this.register(require('./UserUpdate'));
|
||||
this.register(require('./VoiceStateUpdate'));
|
||||
this.register(require('./WebhooksUpdate'));
|
||||
this.ApplicationCommandPermissionsUpdate = this.load(require('./ApplicationCommandPermissionsUpdate.js'));
|
||||
this.AutoModerationActionExecution = this.load(require('./AutoModerationActionExecution.js'));
|
||||
this.AutoModerationRuleCreate = this.load(require('./AutoModerationRuleCreate.js'));
|
||||
this.AutoModerationRuleDelete = this.load(require('./AutoModerationRuleDelete.js'));
|
||||
this.AutoModerationRuleUpdate = this.load(require('./AutoModerationRuleUpdate.js'));
|
||||
this.ChannelCreate = this.load(require('./ChannelCreate.js'));
|
||||
this.ChannelDelete = this.load(require('./ChannelDelete.js'));
|
||||
this.ChannelUpdate = this.load(require('./ChannelUpdate.js'));
|
||||
this.EntitlementCreate = this.load(require('./EntitlementCreate.js'));
|
||||
this.EntitlementDelete = this.load(require('./EntitlementDelete.js'));
|
||||
this.EntitlementUpdate = this.load(require('./EntitlementUpdate.js'));
|
||||
this.GuildAuditLogEntryCreate = this.load(require('./GuildAuditLogEntryCreate.js'));
|
||||
this.GuildBanAdd = this.load(require('./GuildBanAdd.js'));
|
||||
this.GuildBanRemove = this.load(require('./GuildBanRemove.js'));
|
||||
this.GuildChannelsPositionUpdate = this.load(require('./GuildChannelsPositionUpdate.js'));
|
||||
this.GuildDelete = this.load(require('./GuildDelete.js'));
|
||||
this.GuildEmojiCreate = this.load(require('./GuildEmojiCreate.js'));
|
||||
this.GuildEmojiDelete = this.load(require('./GuildEmojiDelete.js'));
|
||||
this.GuildEmojiUpdate = this.load(require('./GuildEmojiUpdate.js'));
|
||||
this.GuildEmojisUpdate = this.load(require('./GuildEmojisUpdate.js'));
|
||||
this.GuildIntegrationsUpdate = this.load(require('./GuildIntegrationsUpdate.js'));
|
||||
this.GuildMemberRemove = this.load(require('./GuildMemberRemove.js'));
|
||||
this.GuildMemberUpdate = this.load(require('./GuildMemberUpdate.js'));
|
||||
this.GuildRoleCreate = this.load(require('./GuildRoleCreate.js'));
|
||||
this.GuildRoleDelete = this.load(require('./GuildRoleDelete.js'));
|
||||
this.GuildRoleUpdate = this.load(require('./GuildRoleUpdate.js'));
|
||||
this.GuildRolesPositionUpdate = this.load(require('./GuildRolesPositionUpdate.js'));
|
||||
this.GuildScheduledEventCreate = this.load(require('./GuildScheduledEventCreate.js'));
|
||||
this.GuildScheduledEventDelete = this.load(require('./GuildScheduledEventDelete.js'));
|
||||
this.GuildScheduledEventUpdate = this.load(require('./GuildScheduledEventUpdate.js'));
|
||||
this.GuildScheduledEventUserAdd = this.load(require('./GuildScheduledEventUserAdd.js'));
|
||||
this.GuildScheduledEventUserRemove = this.load(require('./GuildScheduledEventUserRemove.js'));
|
||||
this.GuildSoundboardSoundDelete = this.load(require('./GuildSoundboardSoundDelete.js'));
|
||||
this.GuildStickerCreate = this.load(require('./GuildStickerCreate.js'));
|
||||
this.GuildStickerDelete = this.load(require('./GuildStickerDelete.js'));
|
||||
this.GuildStickerUpdate = this.load(require('./GuildStickerUpdate.js'));
|
||||
this.GuildStickersUpdate = this.load(require('./GuildStickersUpdate.js'));
|
||||
this.GuildUpdate = this.load(require('./GuildUpdate.js'));
|
||||
this.InteractionCreate = this.load(require('./InteractionCreate.js'));
|
||||
this.InviteCreate = this.load(require('./InviteCreate.js'));
|
||||
this.InviteDelete = this.load(require('./InviteDelete.js'));
|
||||
this.MessageCreate = this.load(require('./MessageCreate.js'));
|
||||
this.MessageDelete = this.load(require('./MessageDelete.js'));
|
||||
this.MessageDeleteBulk = this.load(require('./MessageDeleteBulk.js'));
|
||||
this.MessagePollVoteAdd = this.load(require('./MessagePollVoteAdd.js'));
|
||||
this.MessagePollVoteRemove = this.load(require('./MessagePollVoteRemove.js'));
|
||||
this.MessageReactionAdd = this.load(require('./MessageReactionAdd.js'));
|
||||
this.MessageReactionRemove = this.load(require('./MessageReactionRemove.js'));
|
||||
this.MessageReactionRemoveAll = this.load(require('./MessageReactionRemoveAll.js'));
|
||||
this.MessageReactionRemoveEmoji = this.load(require('./MessageReactionRemoveEmoji.js'));
|
||||
this.MessageUpdate = this.load(require('./MessageUpdate.js'));
|
||||
this.PresenceUpdate = this.load(require('./PresenceUpdate.js'));
|
||||
this.StageInstanceCreate = this.load(require('./StageInstanceCreate.js'));
|
||||
this.StageInstanceDelete = this.load(require('./StageInstanceDelete.js'));
|
||||
this.StageInstanceUpdate = this.load(require('./StageInstanceUpdate.js'));
|
||||
this.ThreadCreate = this.load(require('./ThreadCreate.js'));
|
||||
this.ThreadDelete = this.load(require('./ThreadDelete.js'));
|
||||
this.ThreadListSync = this.load(require('./ThreadListSync.js'));
|
||||
this.ThreadMemberUpdate = this.load(require('./ThreadMemberUpdate.js'));
|
||||
this.ThreadMembersUpdate = this.load(require('./ThreadMembersUpdate.js'));
|
||||
this.TypingStart = this.load(require('./TypingStart.js'));
|
||||
this.UserUpdate = this.load(require('./UserUpdate.js'));
|
||||
this.VoiceStateUpdate = this.load(require('./VoiceStateUpdate.js'));
|
||||
this.WebhooksUpdate = this.load(require('./WebhooksUpdate.js'));
|
||||
}
|
||||
|
||||
register(Action) {
|
||||
this[Action.name.replace(/Action$/, '')] = new Action(this.client);
|
||||
load(Action) {
|
||||
return new Action(this.client);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,10 +32,10 @@ const handlers = Object.fromEntries([
|
||||
['GUILD_SCHEDULED_EVENT_UPDATE', require('./GUILD_SCHEDULED_EVENT_UPDATE')],
|
||||
['GUILD_SCHEDULED_EVENT_USER_ADD', require('./GUILD_SCHEDULED_EVENT_USER_ADD')],
|
||||
['GUILD_SCHEDULED_EVENT_USER_REMOVE', require('./GUILD_SCHEDULED_EVENT_USER_REMOVE')],
|
||||
['GUILD_SOUNDBOARD_SOUNDS_UPDATE', require('./GUILD_SOUNDBOARD_SOUNDS_UPDATE.js')],
|
||||
['GUILD_SOUNDBOARD_SOUND_CREATE', require('./GUILD_SOUNDBOARD_SOUND_CREATE.js')],
|
||||
['GUILD_SOUNDBOARD_SOUND_DELETE', require('./GUILD_SOUNDBOARD_SOUND_DELETE.js')],
|
||||
['GUILD_SOUNDBOARD_SOUND_UPDATE', require('./GUILD_SOUNDBOARD_SOUND_UPDATE.js')],
|
||||
['GUILD_SOUNDBOARD_SOUNDS_UPDATE', require('./GUILD_SOUNDBOARD_SOUNDS_UPDATE')],
|
||||
['GUILD_SOUNDBOARD_SOUND_CREATE', require('./GUILD_SOUNDBOARD_SOUND_CREATE')],
|
||||
['GUILD_SOUNDBOARD_SOUND_DELETE', require('./GUILD_SOUNDBOARD_SOUND_DELETE')],
|
||||
['GUILD_SOUNDBOARD_SOUND_UPDATE', require('./GUILD_SOUNDBOARD_SOUND_UPDATE')],
|
||||
['GUILD_STICKERS_UPDATE', require('./GUILD_STICKERS_UPDATE')],
|
||||
['GUILD_UPDATE', require('./GUILD_UPDATE')],
|
||||
['INTERACTION_CREATE', require('./INTERACTION_CREATE')],
|
||||
@@ -54,7 +54,7 @@ const handlers = Object.fromEntries([
|
||||
['PRESENCE_UPDATE', require('./PRESENCE_UPDATE')],
|
||||
['READY', require('./READY')],
|
||||
['RESUMED', require('./RESUMED')],
|
||||
['SOUNDBOARD_SOUNDS', require('./SOUNDBOARD_SOUNDS.js')],
|
||||
['SOUNDBOARD_SOUNDS', require('./SOUNDBOARD_SOUNDS')],
|
||||
['STAGE_INSTANCE_CREATE', require('./STAGE_INSTANCE_CREATE')],
|
||||
['STAGE_INSTANCE_DELETE', require('./STAGE_INSTANCE_DELETE')],
|
||||
['STAGE_INSTANCE_UPDATE', require('./STAGE_INSTANCE_UPDATE')],
|
||||
|
||||
Reference in New Issue
Block a user