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([
|
opendiscord.verifybars.get("opendiscord:close-ticket-ticket-message").success.add([
|
||||||
new api.ODWorker("opendiscord:close-ticket",0,async (instance,params,origin,cancel) => {
|
new api.ODWorker("opendiscord:close-ticket",0,async (instance,params,origin,cancel) => {
|
||||||
const {user,member,channel,guild} = instance
|
const {user,member,channel,guild} = instance
|
||||||
|
|
||||||
//check permissions
|
//check permissions
|
||||||
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.close,"support",user,member,channel,guild)
|
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.close,"support",user,member,channel,guild)
|
||||||
if (!permsResult.hasPerms){
|
if (!permsResult.hasPerms){
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ export interface ODDatabaseManagerIdMappings extends api.ODDatabaseManagerIdCons
|
|||||||
"opendiscord:tickets":ODTicketsDatabase,
|
"opendiscord:tickets":ODTicketsDatabase,
|
||||||
"opendiscord:users":ODUsersDatabase,
|
"opendiscord:users":ODUsersDatabase,
|
||||||
"opendiscord:options":ODOptionsDatabase,
|
"opendiscord:options":ODOptionsDatabase,
|
||||||
|
"opendiscord:message-states":ODMessageStatesDatabase,
|
||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////
|
/////////////////////////////////////////
|
||||||
@@ -89,4 +90,9 @@ export class ODUsersDatabase extends api.ODFormattedJsonDatabase<ODUsersDatabase
|
|||||||
/**## ODOptionsDatabase `class
|
/**## ODOptionsDatabase `class
|
||||||
* A special class with types for the Open Ticket `database/options.json` database file
|
* 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.
|
* It's used to generate typescript declarations for this class.
|
||||||
*/
|
*/
|
||||||
export interface ODStateManagerIdMappings extends api.ODStateManagerIdConstraint {
|
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
|
/**## ODMappedStateManager `class
|
||||||
* A special class with types for the Open Ticket `ODStateManager` 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(defaultTicketsDatabase)
|
||||||
opendiscord.databases.add(defaultUsersDatabase)
|
opendiscord.databases.add(defaultUsersDatabase)
|
||||||
opendiscord.databases.add(defaultOptionsDatabase)
|
opendiscord.databases.add(defaultOptionsDatabase)
|
||||||
|
opendiscord.databases.add(defaultMessageStatesDatabase)
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultInlineFormatter = new fjs.ArrayFormatter(null,true,new fjs.ObjectFormatter(null,false,[
|
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 defaultGlobalDatabase = new api.ODGlobalDatabase("opendiscord:global","global.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
|
||||||
export const defaultStatsDatabase = new api.ODFormattedJsonDatabase("opendiscord:stats","stats.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
|
export const defaultStatsDatabase = new api.ODStatsDatabase("opendiscord:stats","stats.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
|
||||||
export const defaultTicketsDatabase = new api.ODFormattedJsonDatabase("opendiscord:tickets","tickets.json",defaultTicketFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
|
export const defaultTicketsDatabase = new api.ODTicketsDatabase("opendiscord:tickets","tickets.json",defaultTicketFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
|
||||||
export const defaultUsersDatabase = new api.ODFormattedJsonDatabase("opendiscord:users","users.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
|
export const defaultUsersDatabase = new api.ODUsersDatabase("opendiscord:users","users.json",defaultInlineFormatter,(isDevdatabase) ? "./devdatabase/" : "./database/")
|
||||||
export const defaultOptionsDatabase = new api.ODFormattedJsonDatabase("opendiscord:options","options.json",defaultOptionFormatter,(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"
|
import {opendiscord, api, utilities} from "../../index.js"
|
||||||
|
|
||||||
export const loadAllStates = async () => {
|
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