From 1f9fa543449f92656eb3d491783e63594075e7a0 Mon Sep 17 00:00:00 2001 From: DJj123dj <80536295+DJj123dj@users.noreply.github.com> Date: Mon, 4 May 2026 19:24:15 +0200 Subject: [PATCH] Implemented ODComponents (Part 2) --- package.json | 2 +- src/core/mappings/component.ts | 6 +++--- src/core/mappings/event.ts | 9 +++++++++ src/data/framework/eventLoader.ts | 8 ++++++++ src/index.ts | 24 ++++++++++++++++++++++++ 5 files changed, 45 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index d575f2d..ffc3b22 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "license": "GPL-3.0-only", "dependencies": { "@discordjs/rest": "^2.6.1", - "@open-discord-bots/framework": "^0.3.2", + "@open-discord-bots/framework": "^0.3.3", "@types/node": "^22.5.0", "@types/terminal-kit": "^2.5.7", "ansis": "^4.2.0", diff --git a/src/core/mappings/component.ts b/src/core/mappings/component.ts index 0b5c4df..0636c8b 100644 --- a/src/core/mappings/component.ts +++ b/src/core/mappings/component.ts @@ -9,7 +9,7 @@ import * as discord from "discord.js" * It's used to generate typescript declarations for this class. */ export interface ODSharedComponentManagerIdMappings extends api.ODComponentManagerIdConstraint { - "opendiscord:example-component":{origin:"slash"|"text"|"other",params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User},workers:"opendiscord:example-component"}, + //"opendiscord:example-component":{origin:"slash"|"text"|"other",params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User},workers:"opendiscord:example-component"}, } /**## ODMessageComponentManagerIdMappings `interface` @@ -17,7 +17,7 @@ export interface ODSharedComponentManagerIdMappings extends api.ODComponentManag * It's used to generate typescript declarations for this class. */ export interface ODMessageComponentManagerIdMappings extends api.ODComponentManagerIdConstraint { - "opendiscord:example-message":{origin:"slash"|"text"|"other",params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User},workers:"opendiscord:example-message"}, + //"opendiscord:example-message":{origin:"slash"|"text"|"other",params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User},workers:"opendiscord:example-message"}, } /**## ODModalComponentManagerIdMappings `interface` @@ -25,7 +25,7 @@ export interface ODMessageComponentManagerIdMappings extends api.ODComponentMana * It's used to generate typescript declarations for this class. */ export interface ODModalComponentManagerIdMappings extends api.ODComponentManagerIdConstraint { - "opendiscord:example-modal":{origin:"slash"|"text"|"other",params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User},workers:"opendiscord:example-modal"}, + //"opendiscord:example-modal":{origin:"slash"|"text"|"other",params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User},workers:"opendiscord:example-modal"}, } ///////////////////////////// diff --git a/src/core/mappings/event.ts b/src/core/mappings/event.ts index 77cac33..ca89379 100644 --- a/src/core/mappings/event.ts +++ b/src/core/mappings/event.ts @@ -28,6 +28,7 @@ import { ODMappedVerifyBarManager } from "./verifybar.js" import { ODMappedStartScreenManager } from "./startscreen.js" import { ODMappedLiveStatusManager } from "./console.js" import { ODMappedProgressBarManager, ODMappedProgressBarRendererManager } from "./progressbar.js" +import { ODMappedComponentManager, ODMappedMessageComponentManager, ODMappedModalComponentManager, ODMappedSharedComponentManager } from "./component.js" //OPEN TICKET MAPPINGSS import { ODOptionManager, ODTicketOption } from "../api/option.js" @@ -248,6 +249,14 @@ export interface ODEventManagerIdMappings extends api.ODEventManagerIdConstraint "onModalBuilderLoad": api.ODEvent<(modals:ODMappedModalManager, builders:ODMappedBuilderManager, actions:ODMappedActionManager) => api.ODPromiseVoid> "afterModalBuildersLoaded": api.ODEvent<(modals:ODMappedModalManager, builders:ODMappedBuilderManager, actions:ODMappedActionManager) => api.ODPromiseVoid> + //components + "onSharedComponentLoad": api.ODEvent<(shared:ODMappedSharedComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid> + "afterSharedComponentsLoaded": api.ODEvent<(shared:ODMappedSharedComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid> + "onMessageComponentLoad": api.ODEvent<(shared:ODMappedMessageComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid> + "afterMessageComponentsLoaded": api.ODEvent<(shared:ODMappedMessageComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid> + "onModalComponentLoad": api.ODEvent<(shared:ODMappedModalComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid> + "afterModalComponentsLoaded": api.ODEvent<(shared:ODMappedModalComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid> + //plugin loading before responders "onPluginBeforeResponderLoad": api.ODEvent<() => api.ODPromiseVoid>, "afterPluginBeforeResponderLoaded": api.ODEvent<() => api.ODPromiseVoid>, diff --git a/src/data/framework/eventLoader.ts b/src/data/framework/eventLoader.ts index f468198..d344b16 100644 --- a/src/data/framework/eventLoader.ts +++ b/src/data/framework/eventLoader.ts @@ -206,6 +206,14 @@ export const loadAllEvents = () => { "onModalBuilderLoad", "afterModalBuildersLoaded", + //components + "onSharedComponentLoad", + "afterSharedComponentsLoaded", + "onMessageComponentLoad", + "afterMessageComponentsLoaded", + "onModalComponentLoad", + "afterModalComponentsLoaded", + //plugin loading before responders "onPluginBeforeResponderLoad", "afterPluginBeforeResponderLoaded", diff --git a/src/index.ts b/src/index.ts index be7088a..43f6c1b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -634,6 +634,30 @@ const main = async () => { await opendiscord.events.get("onModalBuilderLoad").emit([opendiscord.builders.modals,opendiscord.builders,opendiscord.actions]) await opendiscord.events.get("afterModalBuildersLoaded").emit([opendiscord.builders.modals,opendiscord.builders,opendiscord.actions]) + //load shared components + opendiscord.log("Loading shared components...","system") + if (opendiscord.sharedFuses.getFuse("sharedComponentsLoading")){ + //TODO TODO + } + await opendiscord.events.get("onSharedComponentLoad").emit([opendiscord.components.shared,opendiscord.components,opendiscord.actions]) + await opendiscord.events.get("afterSharedComponentsLoaded").emit([opendiscord.components.shared,opendiscord.components,opendiscord.actions]) + + //load message components + opendiscord.log("Loading message components...","system") + if (opendiscord.sharedFuses.getFuse("messageComponentsLoading")){ + //TODO TODO + } + await opendiscord.events.get("onMessageComponentLoad").emit([opendiscord.components.messages,opendiscord.components,opendiscord.actions]) + await opendiscord.events.get("afterMessageComponentsLoaded").emit([opendiscord.components.messages,opendiscord.components,opendiscord.actions]) + + //load modal components + opendiscord.log("Loading modal components...","system") + if (opendiscord.sharedFuses.getFuse("modalComponentsLoading")){ + //TODO TODO + } + await opendiscord.events.get("onModalComponentLoad").emit([opendiscord.components.modals,opendiscord.components,opendiscord.actions]) + await opendiscord.events.get("afterModalComponentsLoaded").emit([opendiscord.components.modals,opendiscord.components,opendiscord.actions]) + //plugin loading before responders await opendiscord.events.get("onPluginBeforeResponderLoad").emit([]) await opendiscord.events.get("afterPluginBeforeResponderLoaded").emit([])