Message States (Part 2) + Component Modifiers

This commit is contained in:
DJj123dj
2026-05-08 21:46:13 +02:00
parent 7030b7011c
commit cb8afdf9a6
6 changed files with 43 additions and 9 deletions
+1 -1
View File
@@ -26,7 +26,7 @@
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"dependencies": { "dependencies": {
"@discordjs/rest": "^2.6.1", "@discordjs/rest": "^2.6.1",
"@open-discord-bots/framework": "^0.3.4", "@open-discord-bots/framework": "^0.3.8",
"@types/node": "^22.5.0", "@types/node": "^22.5.0",
"@types/terminal-kit": "^2.5.7", "@types/terminal-kit": "^2.5.7",
"ansis": "^4.2.0", "ansis": "^4.2.0",
+14 -1
View File
@@ -28,6 +28,14 @@ export interface ODModalComponentManagerIdMappings extends api.ODComponentManage
//"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"},
} }
/**## ODComponentModifierManagerIdMappings `interface`
* A list of all available IDs in the default `ODComponentModifierManager` class in `opendiscord`.
* It's used to generate typescript declarations for this class.
*/
export interface ODComponentModifierManagerIdMappings extends api.ODComponentModifierManagerIdConstraint {
//"opendiscord:example-modifier":api.ODMessageComponentModifier<string,{}>,
}
///////////////////////////// /////////////////////////////
////// MAPPED MANAGERS ////// ////// MAPPED MANAGERS //////
///////////////////////////// /////////////////////////////
@@ -47,7 +55,12 @@ export class ODMappedMessageComponentManager extends api.ODMessageComponentManag
*/ */
export class ODMappedModalComponentManager extends api.ODModalComponentManager<ODModalComponentManagerIdMappings> {} export class ODMappedModalComponentManager extends api.ODModalComponentManager<ODModalComponentManagerIdMappings> {}
/**## ODMappedComponentModifierManager `class
* A special class with types for the Open Ticket `ODComponentModifierManager` class.
*/
export class ODMappedComponentModifierManager extends api.ODComponentModifierManager<ODComponentModifierManagerIdMappings> {}
/**## ODMappedComponentManager `class /**## ODMappedComponentManager `class
* A special class with types for the Open Ticket `ODBuilderManager` class. * A special class with types for the Open Ticket `ODBuilderManager` class.
*/ */
export class ODMappedComponentManager extends api.ODComponentManager<ODSharedComponentManagerIdMappings,ODMessageComponentManagerIdMappings,ODModalComponentManagerIdMappings> {} export class ODMappedComponentManager extends api.ODComponentManager<ODSharedComponentManagerIdMappings,ODMessageComponentManagerIdMappings,ODModalComponentManagerIdMappings,ODComponentModifierManagerIdMappings> {}
+3 -1
View File
@@ -28,7 +28,7 @@ import { ODMappedVerifyBarManager } from "./verifybar.js"
import { ODMappedStartScreenManager } from "./startscreen.js" import { ODMappedStartScreenManager } from "./startscreen.js"
import { ODMappedLiveStatusManager } from "./console.js" import { ODMappedLiveStatusManager } from "./console.js"
import { ODMappedProgressBarManager, ODMappedProgressBarRendererManager } from "./progressbar.js" import { ODMappedProgressBarManager, ODMappedProgressBarRendererManager } from "./progressbar.js"
import { ODMappedComponentManager, ODMappedMessageComponentManager, ODMappedModalComponentManager, ODMappedSharedComponentManager } from "./component.js" import { ODMappedComponentManager, ODMappedComponentModifierManager, ODMappedMessageComponentManager, ODMappedModalComponentManager, ODMappedSharedComponentManager } from "./component.js"
import { ODMappedStateManager } from "./state.js" import { ODMappedStateManager } from "./state.js"
//OPEN TICKET MAPPINGSS //OPEN TICKET MAPPINGSS
@@ -263,6 +263,8 @@ export interface ODEventManagerIdMappings extends api.ODEventManagerIdConstraint
"afterMessageComponentsLoaded": 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> "onModalComponentLoad": api.ODEvent<(shared:ODMappedModalComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid>
"afterModalComponentsLoaded": api.ODEvent<(shared:ODMappedModalComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid> "afterModalComponentsLoaded": api.ODEvent<(shared:ODMappedModalComponentManager, components:ODMappedComponentManager, actions:ODMappedActionManager) => api.ODPromiseVoid>
"onComponentModifierLoad": api.ODEvent<(modifiers:ODMappedComponentModifierManager, msgComponents:ODMappedMessageComponentManager, msgBuilders:ODMappedMessageManager) => api.ODPromiseVoid>
"afterComponentModifiersLoaded": api.ODEvent<(modifiers:ODMappedComponentModifierManager, msgComponents:ODMappedMessageComponentManager, msgBuilders:ODMappedMessageManager) => api.ODPromiseVoid>
//plugin loading before responders //plugin loading before responders
"onPluginBeforeResponderLoad": api.ODEvent<() => api.ODPromiseVoid>, "onPluginBeforeResponderLoad": api.ODEvent<() => api.ODPromiseVoid>,
+12 -3
View File
@@ -10,6 +10,7 @@ import * as discord from "discord.js"
*/ */
export interface ODStateManagerIdMappings extends api.ODStateManagerIdConstraint { export interface ODStateManagerIdMappings extends api.ODStateManagerIdConstraint {
"opendiscord:message-origin":ODMessageOriginState, "opendiscord:message-origin":ODMessageOriginState,
"opendiscord:verifybar":ODVerifybarState,
} }
///////////////////////////// /////////////////////////////
@@ -21,9 +22,17 @@ export interface ODStateManagerIdMappings extends api.ODStateManagerIdConstraint
*/ */
export class ODMappedStateManager extends api.ODStateManager<ODStateManagerIdMappings> {} export class ODMappedStateManager extends api.ODStateManager<ODStateManagerIdMappings> {}
/**## ODGeneralJsonConfig `class /**## ODMessageOriginState `class
* A special class with types for the Open Ticket message origin states. * A special class with types for the Open Ticket message origin states.
*/ */
export class ODMessageOriginState extends api.ODState<{ export class ODMessageOriginState extends api.ODState<{
messageOrigin:"ticket-message"|"close-message"|"reopen-message"|"autoclose-message"|"claim-message"|"unclaim-message"|"pin-message"|"unpin-message" messageOrigin:"slash"|"text"|"button"|"dropdown"|"modal"|"other",
}> {} messageType:"ticket-message"|"close-message"|"reopen-message"|"autoclose-message"|"claim-message"|"unclaim-message"|"pin-message"|"unpin-message",
},false,false> {}
/**## ODVerifybarState `class
* A special class with types for the Open Ticket verifybar states.
*/
export class ODVerifybarState extends api.ODState<{
verifybarId:string,
},false,true> {}
+2
View File
@@ -219,6 +219,8 @@ export const loadAllEvents = () => {
"afterMessageComponentsLoaded", "afterMessageComponentsLoaded",
"onModalComponentLoad", "onModalComponentLoad",
"afterModalComponentsLoaded", "afterModalComponentsLoaded",
"onComponentModifierLoad",
"afterComponentModifiersLoaded",
//plugin loading before responders //plugin loading before responders
"onPluginBeforeResponderLoad", "onPluginBeforeResponderLoad",
+11 -3
View File
@@ -652,7 +652,7 @@ const main = async () => {
//load shared components //load shared components
opendiscord.log("Loading shared components...","system") opendiscord.log("Loading shared components...","system")
if (opendiscord.sharedFuses.getFuse("sharedComponentsLoading")){ if (opendiscord.sharedFuses.getFuse("sharedComponentsLoading")){
//TODO TODO //TODO!!
} }
await opendiscord.events.get("onSharedComponentLoad").emit([opendiscord.components.shared,opendiscord.components,opendiscord.actions]) 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]) await opendiscord.events.get("afterSharedComponentsLoaded").emit([opendiscord.components.shared,opendiscord.components,opendiscord.actions])
@@ -660,7 +660,7 @@ const main = async () => {
//load message components //load message components
opendiscord.log("Loading message components...","system") opendiscord.log("Loading message components...","system")
if (opendiscord.sharedFuses.getFuse("messageComponentsLoading")){ if (opendiscord.sharedFuses.getFuse("messageComponentsLoading")){
//TODO TODO //TODO!!
} }
await opendiscord.events.get("onMessageComponentLoad").emit([opendiscord.components.messages,opendiscord.components,opendiscord.actions]) 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]) await opendiscord.events.get("afterMessageComponentsLoaded").emit([opendiscord.components.messages,opendiscord.components,opendiscord.actions])
@@ -668,11 +668,19 @@ const main = async () => {
//load modal components //load modal components
opendiscord.log("Loading modal components...","system") opendiscord.log("Loading modal components...","system")
if (opendiscord.sharedFuses.getFuse("modalComponentsLoading")){ if (opendiscord.sharedFuses.getFuse("modalComponentsLoading")){
//TODO TODO //TODO!!
} }
await opendiscord.events.get("onModalComponentLoad").emit([opendiscord.components.modals,opendiscord.components,opendiscord.actions]) 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]) await opendiscord.events.get("afterModalComponentsLoaded").emit([opendiscord.components.modals,opendiscord.components,opendiscord.actions])
//load component modifiers
opendiscord.log("Loading component modifiers...","system")
if (opendiscord.sharedFuses.getFuse("componentModifiersLoading")){
//TODO!!
}
await opendiscord.events.get("onComponentModifierLoad").emit([opendiscord.components.modifiers,opendiscord.components.messages,opendiscord.builders.messages])
await opendiscord.events.get("afterComponentModifiersLoaded").emit([opendiscord.components.modifiers,opendiscord.components.messages,opendiscord.builders.messages])
//plugin loading before responders //plugin loading before responders
await opendiscord.events.get("onPluginBeforeResponderLoad").emit([]) await opendiscord.events.get("onPluginBeforeResponderLoad").emit([])
await opendiscord.events.get("afterPluginBeforeResponderLoaded").emit([]) await opendiscord.events.get("afterPluginBeforeResponderLoaded").emit([])