Message States (Part 1)

This commit is contained in:
DJj123dj
2026-05-08 17:17:59 +02:00
parent 7dd8a57a83
commit 7030b7011c
5 changed files with 27 additions and 10 deletions
+6
View File
@@ -15,6 +15,7 @@ export interface ODDatabaseManagerIdMappings extends api.ODDatabaseManagerIdCons
"opendiscord:tickets":ODTicketsDatabase,
"opendiscord:users":ODUsersDatabase,
"opendiscord:options":ODOptionsDatabase,
"opendiscord:message-states":ODMessageStatesDatabase,
}
/////////////////////////////////////////
@@ -90,3 +91,8 @@ export class ODUsersDatabase extends api.ODFormattedJsonDatabase<ODUsersDatabase
* A special class with types for the Open Ticket `database/options.json` database file
*/
export class ODOptionsDatabase extends api.ODFormattedJsonDatabase<ODOptionsDatabaseIdMappings> {}
/**## ODMessageStatesDatabase `class
* A special class with types for the Open Ticket `database/states.json` database file
*/
export class ODMessageStatesDatabase extends api.ODFormattedJsonDatabase {}
+8 -1
View File
@@ -9,7 +9,7 @@ import * as discord from "discord.js"
* It's used to generate typescript declarations for this class.
*/
export interface ODStateManagerIdMappings extends api.ODStateManagerIdConstraint {
//"opendiscord:example-state":api.ODState<any>,
"opendiscord:message-origin":ODMessageOriginState,
}
/////////////////////////////
@@ -20,3 +20,10 @@ export interface ODStateManagerIdMappings extends api.ODStateManagerIdConstraint
* A special class with types for the Open Ticket `ODStateManager` class.
*/
export class ODMappedStateManager extends api.ODStateManager<ODStateManagerIdMappings> {}
/**## ODGeneralJsonConfig `class
* A special class with types for the Open Ticket message origin states.
*/
export class ODMessageOriginState extends api.ODState<{
messageOrigin:"ticket-message"|"close-message"|"reopen-message"|"autoclose-message"|"claim-message"|"unclaim-message"|"pin-message"|"unpin-message"
}> {}
+7 -5
View File
@@ -10,6 +10,7 @@ export const loadAllDatabases = async () => {
opendiscord.databases.add(defaultTicketsDatabase)
opendiscord.databases.add(defaultUsersDatabase)
opendiscord.databases.add(defaultOptionsDatabase)
opendiscord.databases.add(defaultMessageStatesDatabase)
}
const defaultInlineFormatter = new fjs.ArrayFormatter(null,true,new fjs.ObjectFormatter(null,false,[
@@ -46,8 +47,9 @@ const defaultOptionFormatter = new fjs.ArrayFormatter(null,true,new fjs.ObjectFo
])
]))
export const defaultGlobalDatabase = new api.ODFormattedJsonDatabase("opendiscord:global","global.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultStatsDatabase = new api.ODFormattedJsonDatabase("opendiscord:stats","stats.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultTicketsDatabase = new api.ODFormattedJsonDatabase("opendiscord:tickets","tickets.json",defaultTicketFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultUsersDatabase = new api.ODFormattedJsonDatabase("opendiscord:users","users.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultOptionsDatabase = new api.ODFormattedJsonDatabase("opendiscord:options","options.json",defaultOptionFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultGlobalDatabase = new api.ODGlobalDatabase("opendiscord:global","global.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultStatsDatabase = new api.ODStatsDatabase("opendiscord:stats","stats.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultTicketsDatabase = new api.ODTicketsDatabase("opendiscord:tickets","tickets.json",defaultTicketFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultUsersDatabase = new api.ODUsersDatabase("opendiscord:users","users.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultOptionsDatabase = new api.ODOptionsDatabase("opendiscord:options","options.json",defaultOptionFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
export const defaultMessageStatesDatabase = new api.ODMessageStatesDatabase("opendiscord:message-states","states.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
+2
View File
@@ -1,5 +1,7 @@
import {opendiscord, api, utilities} from "../../index.js"
export const loadAllStates = async () => {
const stateDatabase = opendiscord.databases.get("opendiscord:message-states")
opendiscord.states.add(new api.ODMessageOriginState("opendiscord:message-origin",opendiscord.client,stateDatabase,{}))
}