Message States (Part 1)
This commit is contained in:
@@ -171,7 +171,7 @@ export const registerVerifyBars = async () => {
|
||||
opendiscord.verifybars.get("opendiscord:close-ticket-ticket-message").success.add([
|
||||
new api.ODWorker("opendiscord:close-ticket",0,async (instance,params,origin,cancel) => {
|
||||
const {user,member,channel,guild} = instance
|
||||
|
||||
|
||||
//check permissions
|
||||
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.close,"support",user,member,channel,guild)
|
||||
if (!permsResult.hasPerms){
|
||||
|
||||
@@ -15,6 +15,7 @@ export interface ODDatabaseManagerIdMappings extends api.ODDatabaseManagerIdCons
|
||||
"opendiscord:tickets":ODTicketsDatabase,
|
||||
"opendiscord:users":ODUsersDatabase,
|
||||
"opendiscord:options":ODOptionsDatabase,
|
||||
"opendiscord:message-states":ODMessageStatesDatabase,
|
||||
}
|
||||
|
||||
/////////////////////////////////////////
|
||||
@@ -89,4 +90,9 @@ export class ODUsersDatabase extends api.ODFormattedJsonDatabase<ODUsersDatabase
|
||||
/**## ODOptionsDatabase `class
|
||||
* A special class with types for the Open Ticket `database/options.json` database file
|
||||
*/
|
||||
export class ODOptionsDatabase extends api.ODFormattedJsonDatabase<ODOptionsDatabaseIdMappings> {}
|
||||
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 {}
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
/////////////////////////////
|
||||
@@ -19,4 +19,11 @@ export interface ODStateManagerIdMappings extends api.ODStateManagerIdConstraint
|
||||
/**## ODMappedStateManager `class
|
||||
* A special class with types for the Open Ticket `ODStateManager` class.
|
||||
*/
|
||||
export class ODMappedStateManager extends api.ODStateManager<ODStateManagerIdMappings> {}
|
||||
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"
|
||||
}> {}
|
||||
@@ -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/")
|
||||
@@ -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,{}))
|
||||
}
|
||||
Reference in New Issue
Block a user