(API) Renamed "ODCode" classes to "ODTask" (improved readability)
This commit is contained in:
+1
-1
@@ -28,7 +28,7 @@
|
||||
"license": "GPL-3.0-only",
|
||||
"dependencies": {
|
||||
"@discordjs/rest": "^2.6.1",
|
||||
"@open-discord-bots/framework": "^0.5.2",
|
||||
"@open-discord-bots/framework": "^0.5.3",
|
||||
"@types/node": "^22.5.0",
|
||||
"@types/terminal-kit": "^2.5.7",
|
||||
"ansis": "^4.2.0",
|
||||
|
||||
+1
-1
@@ -7,7 +7,6 @@ export * from "./mappings/base.js"
|
||||
export * from "./mappings/builder.js"
|
||||
export * from "./mappings/checker.js"
|
||||
export * from "./mappings/client.js"
|
||||
export * from "./mappings/code.js"
|
||||
export * from "./mappings/component.js"
|
||||
export * from "./mappings/config.js"
|
||||
export * from "./mappings/console.js"
|
||||
@@ -27,6 +26,7 @@ export * from "./mappings/session.js"
|
||||
export * from "./mappings/startscreen.js"
|
||||
export * from "./mappings/state.js"
|
||||
export * from "./mappings/statistic.js"
|
||||
export * from "./mappings/task.js"
|
||||
export * from "./mappings/verifybar.js"
|
||||
|
||||
//EXPORT OPENTICKET MODULES
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@ export class ODOpenTicketMain extends api.ODMain {
|
||||
declare cooldowns: api.ODMappedCooldownManager
|
||||
declare helpmenu: api.ODMappedHelpMenuManager
|
||||
declare statistics: api.ODMappedStatisticManager
|
||||
declare code: api.ODMappedCodeManager
|
||||
declare tasks: api.ODMappedTaskManager
|
||||
declare posts: api.ODMappedPostManager
|
||||
declare states: api.ODMappedStateManager
|
||||
|
||||
@@ -97,7 +97,7 @@ export class ODOpenTicketMain extends api.ODMain {
|
||||
cooldowns:new api.ODMappedCooldownManager(debug),
|
||||
helpmenu:new api.ODMappedHelpMenuManager(debug),
|
||||
statistics:new api.ODMappedStatisticManager(debug),
|
||||
code:new api.ODMappedCodeManager(debug),
|
||||
tasks:new api.ODMappedTaskManager(debug),
|
||||
posts:new api.ODMappedPostManager(debug),
|
||||
states:new api.ODMappedStateManager(debug),
|
||||
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
///////////////////////////////////////
|
||||
//OPEN TICKET CODE MAPPINGS
|
||||
///////////////////////////////////////
|
||||
import * as api from "@open-discord-bots/framework/api"
|
||||
|
||||
/**## ODCodeManagerIdMappings `interface`
|
||||
* A list of all available IDs in the default `ODCodeManager` class in `opendiscord`.
|
||||
* It's used to generate typescript declarations for this class.
|
||||
*/
|
||||
export interface ODCodeManagerIdMappings extends api.ODCodeManagerIdConstraint {
|
||||
"opendiscord:command-error-handling":api.ODCode,
|
||||
"opendiscord:start-listening-interactions":api.ODCode,
|
||||
"opendiscord:panel-database-cleaner":api.ODCode,
|
||||
"opendiscord:suffix-database-cleaner":api.ODCode,
|
||||
"opendiscord:option-database-cleaner":api.ODCode,
|
||||
"opendiscord:user-database-cleaner":api.ODCode,
|
||||
"opendiscord:ticket-database-cleaner":api.ODCode,
|
||||
"opendiscord:panel-auto-update":api.ODCode,
|
||||
"opendiscord:ticket-saver":api.ODCode,
|
||||
"opendiscord:blacklist-saver":api.ODCode,
|
||||
"opendiscord:auto-role-on-join":api.ODCode,
|
||||
"opendiscord:autoclose-timeout":api.ODCode,
|
||||
"opendiscord:autoclose-leave":api.ODCode,
|
||||
"opendiscord:autodelete-timeout":api.ODCode,
|
||||
"opendiscord:autodelete-leave":api.ODCode,
|
||||
"opendiscord:ticket-anti-busy":api.ODCode,
|
||||
}
|
||||
|
||||
/////////////////////////////
|
||||
////// MAPPED MANAGERS //////
|
||||
/////////////////////////////
|
||||
|
||||
/**## ODMappedCodeManager `class
|
||||
* A special class with types for the Open Ticket `ODCodeManager` class.
|
||||
*/
|
||||
export class ODMappedCodeManager extends api.ODCodeManager<ODCodeManagerIdMappings> {}
|
||||
@@ -21,7 +21,7 @@ import { ODMappedActionManager } from "./action.js"
|
||||
import { ODMappedPermissionManager } from "./permission.js"
|
||||
import { ODMappedHelpMenuManager } from "./helpmenu.js"
|
||||
import { ODMappedStatisticManager } from "./statistic.js"
|
||||
import { ODMappedCodeManager } from "./code.js"
|
||||
import { ODMappedTaskManager } from "./task.js"
|
||||
import { ODMappedCooldownManager } from "./cooldown.js"
|
||||
import { ODMappedPostManager } from "./post.js"
|
||||
import { ODMappedVerifyBarManager } from "./verifybar.js"
|
||||
@@ -326,15 +326,15 @@ export interface ODEventManagerIdMappings extends api.ODEventManagerIdConstraint
|
||||
"onStatisticInit": api.ODEvent<(stats:ODMappedStatisticManager) => api.ODPromiseVoid>
|
||||
"afterStatisticsInitiated": api.ODEvent<(stats:ODMappedStatisticManager) => api.ODPromiseVoid>
|
||||
|
||||
//plugin loading before code
|
||||
"onPluginBeforeCodeLoad": api.ODEvent<() => api.ODPromiseVoid>,
|
||||
"afterPluginBeforeCodeLoaded": api.ODEvent<() => api.ODPromiseVoid>,
|
||||
//plugin loading before tasks
|
||||
"onPluginBeforeTaskLoad": api.ODEvent<() => api.ODPromiseVoid>,
|
||||
"afterPluginBeforeTaskLoaded": api.ODEvent<() => api.ODPromiseVoid>,
|
||||
|
||||
//code
|
||||
"onCodeLoad": api.ODEvent<(code:ODMappedCodeManager) => api.ODPromiseVoid>
|
||||
"afterCodeLoaded": api.ODEvent<(code:ODMappedCodeManager) => api.ODPromiseVoid>
|
||||
"onCodeExecute": api.ODEvent<(code:ODMappedCodeManager) => api.ODPromiseVoid>
|
||||
"afterCodeExecuted": api.ODEvent<(code:ODMappedCodeManager) => api.ODPromiseVoid>
|
||||
//background tasks
|
||||
"onTaskLoad": api.ODEvent<(tasks:ODMappedTaskManager) => api.ODPromiseVoid>
|
||||
"afterTasksLoaded": api.ODEvent<(tasks:ODMappedTaskManager) => api.ODPromiseVoid>
|
||||
"onTaskExecute": api.ODEvent<(tasks:ODMappedTaskManager) => api.ODPromiseVoid>
|
||||
"afterTasksExecuted": api.ODEvent<(tasks:ODMappedTaskManager) => api.ODPromiseVoid>
|
||||
|
||||
//livestatus
|
||||
"onLiveStatusSourceLoad": api.ODEvent<(livestatus:ODMappedLiveStatusManager) => api.ODPromiseVoid>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
///////////////////////////////////////
|
||||
//OPEN TICKET TASK MAPPINGS
|
||||
///////////////////////////////////////
|
||||
import * as api from "@open-discord-bots/framework/api"
|
||||
|
||||
/**## ODTaskManagerIdMappings `interface`
|
||||
* A list of all available IDs in the default `ODTaskManager` class in `opendiscord`.
|
||||
* It's used to generate typescript declarations for this class.
|
||||
*/
|
||||
export interface ODTaskManagerIdMappings extends api.ODTaskManagerIdConstraint {
|
||||
"opendiscord:command-error-handling":api.ODTask,
|
||||
"opendiscord:start-listening-interactions":api.ODTask,
|
||||
"opendiscord:panel-database-cleaner":api.ODTask,
|
||||
"opendiscord:suffix-database-cleaner":api.ODTask,
|
||||
"opendiscord:option-database-cleaner":api.ODTask,
|
||||
"opendiscord:user-database-cleaner":api.ODTask,
|
||||
"opendiscord:ticket-database-cleaner":api.ODTask,
|
||||
"opendiscord:panel-auto-update":api.ODTask,
|
||||
"opendiscord:ticket-saver":api.ODTask,
|
||||
"opendiscord:blacklist-saver":api.ODTask,
|
||||
"opendiscord:auto-role-on-join":api.ODTask,
|
||||
"opendiscord:autoclose-timeout":api.ODTask,
|
||||
"opendiscord:autoclose-leave":api.ODTask,
|
||||
"opendiscord:autodelete-timeout":api.ODTask,
|
||||
"opendiscord:autodelete-leave":api.ODTask,
|
||||
"opendiscord:ticket-anti-busy":api.ODTask,
|
||||
}
|
||||
|
||||
/////////////////////////////
|
||||
////// MAPPED MANAGERS //////
|
||||
/////////////////////////////
|
||||
|
||||
/**## ODMappedTaskManager `class
|
||||
* A special class with types for the Open Ticket `ODTaskManager` class.
|
||||
*/
|
||||
export class ODMappedTaskManager extends api.ODTaskManager<ODTaskManagerIdMappings> {}
|
||||
@@ -282,15 +282,15 @@ export const loadAllEvents = () => {
|
||||
"onStatisticInit",
|
||||
"afterStatisticsInitiated",
|
||||
|
||||
//plugin loading before code
|
||||
"onPluginBeforeCodeLoad",
|
||||
"afterPluginBeforeCodeLoaded",
|
||||
//plugin loading before tasks
|
||||
"onPluginBeforeTaskLoad",
|
||||
"afterPluginBeforeTaskLoaded",
|
||||
|
||||
//code
|
||||
"onCodeLoad",
|
||||
"afterCodeLoaded",
|
||||
"onCodeExecute",
|
||||
"afterCodeExecuted",
|
||||
//background tasks
|
||||
"onTaskLoad",
|
||||
"afterTasksLoaded",
|
||||
"onTaskExecute",
|
||||
"afterTasksExecuted",
|
||||
|
||||
//livestatus
|
||||
"onLiveStatusSourceLoad",
|
||||
|
||||
@@ -9,20 +9,20 @@ const statsDatabase = opendiscord.databases.get("opendiscord:stats")
|
||||
const optionDatabase = opendiscord.databases.get("opendiscord:options")
|
||||
const mainServer = opendiscord.client.mainServer
|
||||
|
||||
export async function loadAllCode(){
|
||||
export async function loadAllTasks(){
|
||||
if (!generalConfig || !mainServer || !globalDatabase || !userDatabase || !ticketDatabase || !statsDatabase || !optionDatabase) return
|
||||
|
||||
loadCommandErrorHandlingCode()
|
||||
loadStartListeningInteractionsCode()
|
||||
loadDatabaseCleanersCode()
|
||||
loadPanelAutoUpdateCode()
|
||||
loadDatabaseSaversCode()
|
||||
loadAutoCode()
|
||||
loadCommandErrorHandlingTasks()
|
||||
loadStartListeningInteractionsTasks()
|
||||
loadDatabaseCleanersTasks()
|
||||
loadPanelAutoUpdateTasks()
|
||||
loadDatabaseSaversTasks()
|
||||
loadAutoTasks()
|
||||
}
|
||||
|
||||
export async function loadCommandErrorHandlingCode(){
|
||||
export async function loadCommandErrorHandlingTasks(){
|
||||
//COMMAND ERROR HANDLING
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:command-error-handling",14,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:command-error-handling",14,() => {
|
||||
//invalid/missing options
|
||||
opendiscord.client.textCommands.onError(async (error) => {
|
||||
if (error.msg.channel.type == discord.ChannelType.GroupDM) return
|
||||
@@ -56,9 +56,9 @@ export async function loadCommandErrorHandlingCode(){
|
||||
}))
|
||||
}
|
||||
|
||||
export async function loadStartListeningInteractionsCode(){
|
||||
export async function loadStartListeningInteractionsTasks(){
|
||||
//START LISTENING TO INTERACTIONS
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:start-listening-interactions",13,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:start-listening-interactions",13,() => {
|
||||
opendiscord.client.slashCommands.startListeningToInteractions()
|
||||
opendiscord.client.textCommands.startListeningToInteractions()
|
||||
opendiscord.client.contextMenus.startListeningToInteractions()
|
||||
@@ -66,11 +66,11 @@ export async function loadStartListeningInteractionsCode(){
|
||||
}))
|
||||
}
|
||||
|
||||
export async function loadDatabaseCleanersCode(){
|
||||
export async function loadDatabaseCleanersTasks(){
|
||||
if (!mainServer) return
|
||||
|
||||
//SUFFIX DATABASE CLEANER
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:suffix-database-cleaner",11,async () => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:suffix-database-cleaner",11,async () => {
|
||||
const validSuffixCounters: string[] = []
|
||||
const validSuffixHistories: string[] = []
|
||||
|
||||
@@ -104,7 +104,7 @@ export async function loadDatabaseCleanersCode(){
|
||||
}))
|
||||
|
||||
//OPTION DATABASE CLEANER
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:option-database-cleaner",10,async () => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:option-database-cleaner",10,async () => {
|
||||
//delete all unused options (async)
|
||||
for (const option of (await optionDatabase.getCategory("opendiscord:used-option") ?? [])){
|
||||
if (!opendiscord.options.exists(option.key)){
|
||||
@@ -118,7 +118,7 @@ export async function loadDatabaseCleanersCode(){
|
||||
}))
|
||||
|
||||
//USER DATABASE CLEANER (full async/parallel because it takes a lot of time)
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:user-database-cleaner",9,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:user-database-cleaner",9,() => {
|
||||
utilities.runAsync(async () => {
|
||||
const validUsers: string[] = []
|
||||
|
||||
@@ -184,7 +184,7 @@ export async function loadDatabaseCleanersCode(){
|
||||
}))
|
||||
|
||||
//TICKET DATABASE CLEANER
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:ticket-database-cleaner",8,async () => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:ticket-database-cleaner",8,async () => {
|
||||
const validTickets: string[] = []
|
||||
|
||||
//check ticket database for valid tickets
|
||||
@@ -250,10 +250,10 @@ export async function loadDatabaseCleanersCode(){
|
||||
}))
|
||||
}
|
||||
|
||||
export async function loadPanelAutoUpdateCode(){
|
||||
export async function loadPanelAutoUpdateTasks(){
|
||||
//PANEL AUTO UPDATE
|
||||
const panelMsgState = opendiscord.states.get("opendiscord:panel-message")
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:panel-auto-update",7,async () => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:panel-auto-update",7,async () => {
|
||||
if (!mainServer) return
|
||||
|
||||
for (const panelState of (await panelMsgState.listMsgStates()).map((rawState) => rawState.value)){
|
||||
@@ -294,9 +294,9 @@ export async function loadPanelAutoUpdateCode(){
|
||||
}))
|
||||
}
|
||||
|
||||
export async function loadDatabaseSaversCode(){
|
||||
export async function loadDatabaseSaversTasks(){
|
||||
//TICKET SAVER
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:ticket-saver",6,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:ticket-saver",6,() => {
|
||||
const mainVersion = opendiscord.versions.get("opendiscord:version")
|
||||
|
||||
opendiscord.tickets.onAdd(async (ticket) => {
|
||||
@@ -333,7 +333,7 @@ export async function loadDatabaseSaversCode(){
|
||||
}))
|
||||
|
||||
//BLACKLIST SAVER
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:blacklist-saver",5,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:blacklist-saver",5,() => {
|
||||
opendiscord.blacklist.onAdd(async (blacklist) => {
|
||||
await userDatabase.set("opendiscord:blacklist",blacklist.id.value,blacklist.reason)
|
||||
})
|
||||
@@ -346,7 +346,7 @@ export async function loadDatabaseSaversCode(){
|
||||
}))
|
||||
|
||||
//AUTO ROLE ON JOIN
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:auto-role-on-join",4,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:auto-role-on-join",4,() => {
|
||||
opendiscord.client.client.on("guildMemberAdd",async (member) => {
|
||||
for (const option of opendiscord.options.getAll()){
|
||||
if (option instanceof api.ODRoleOption && option.get("opendiscord:add-on-join").value){
|
||||
@@ -358,11 +358,11 @@ export async function loadDatabaseSaversCode(){
|
||||
}))
|
||||
}
|
||||
|
||||
const loadAutoCode = () => {
|
||||
export async function loadAutoTasks(){
|
||||
const interactiveMsgState = opendiscord.states.get("opendiscord:interactive-message")
|
||||
|
||||
//AUTOCLOSE TIMEOUT
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:autoclose-timeout",3,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:autoclose-timeout",3,() => {
|
||||
setInterval(async () => {
|
||||
let count = 0
|
||||
for (const ticket of opendiscord.tickets.getAll()){
|
||||
@@ -399,7 +399,7 @@ const loadAutoCode = () => {
|
||||
}))
|
||||
|
||||
//AUTOCLOSE LEAVE
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:autoclose-leave",2,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:autoclose-leave",2,() => {
|
||||
opendiscord.client.client.on("guildMemberRemove",async (member) => {
|
||||
for (const ticket of opendiscord.tickets.getAll()){
|
||||
if (ticket.get("opendiscord:opened-by").value == member.id){
|
||||
@@ -427,7 +427,7 @@ const loadAutoCode = () => {
|
||||
}))
|
||||
|
||||
//AUTODELETE TIMEOUT
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:autodelete-timeout",1,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:autodelete-timeout",1,() => {
|
||||
setInterval(async () => {
|
||||
let count = 0
|
||||
for (const ticket of opendiscord.tickets.getAll()){
|
||||
@@ -460,7 +460,7 @@ const loadAutoCode = () => {
|
||||
}))
|
||||
|
||||
//AUTODELETE LEAVE
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:autodelete-leave",0,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:autodelete-leave",0,() => {
|
||||
opendiscord.client.client.on("guildMemberRemove",async (member) => {
|
||||
for (const ticket of opendiscord.tickets.getAll()){
|
||||
if (ticket.get("opendiscord:opened-by").value == member.id){
|
||||
@@ -483,7 +483,7 @@ const loadAutoCode = () => {
|
||||
}))
|
||||
|
||||
//TICKET ANTI BUSY (+ sync version of tickets with latest OT version in database)
|
||||
opendiscord.code.add(new api.ODCode("opendiscord:ticket-anti-busy",-1,() => {
|
||||
opendiscord.tasks.add(new api.ODTask("opendiscord:ticket-anti-busy",-1,() => {
|
||||
for (const ticket of opendiscord.tickets.getAll()){
|
||||
//free tickets from corruption due to opendiscord:busy variable
|
||||
ticket.get("opendiscord:busy").value = false
|
||||
+13
-13
@@ -902,22 +902,22 @@ const main = async () => {
|
||||
}
|
||||
|
||||
//plugin loading before code
|
||||
await opendiscord.events.get("onPluginBeforeCodeLoad").emit([])
|
||||
await opendiscord.events.get("afterPluginBeforeCodeLoaded").emit([])
|
||||
await opendiscord.events.get("onPluginBeforeTaskLoad").emit([])
|
||||
await opendiscord.events.get("afterPluginBeforeTaskLoaded").emit([])
|
||||
|
||||
//load code
|
||||
opendiscord.log("Loading code...","system")
|
||||
if (opendiscord.sharedFuses.getFuse("codeLoading")){
|
||||
await (await import("./data/framework/codeLoader.js")).loadAllCode()
|
||||
//load background tasks
|
||||
opendiscord.log("Loading background tasks...","system")
|
||||
if (opendiscord.sharedFuses.getFuse("taskLoading")){
|
||||
await (await import("./data/framework/taskLoader.js")).loadAllTasks()
|
||||
}
|
||||
await opendiscord.events.get("onCodeLoad").emit([opendiscord.code])
|
||||
await opendiscord.events.get("afterCodeLoaded").emit([opendiscord.code])
|
||||
await opendiscord.events.get("onTaskLoad").emit([opendiscord.tasks])
|
||||
await opendiscord.events.get("afterTasksLoaded").emit([opendiscord.tasks])
|
||||
|
||||
//execute code
|
||||
await opendiscord.events.get("onCodeExecute").emit([opendiscord.code])
|
||||
if (opendiscord.sharedFuses.getFuse("codeExecution")){
|
||||
await opendiscord.code.execute()
|
||||
await opendiscord.events.get("afterCodeExecuted").emit([opendiscord.code])
|
||||
//execute background tasks
|
||||
await opendiscord.events.get("onTaskExecute").emit([opendiscord.tasks])
|
||||
if (opendiscord.sharedFuses.getFuse("taskExecution")){
|
||||
await opendiscord.tasks.execute()
|
||||
await opendiscord.events.get("afterTasksExecuted").emit([opendiscord.tasks])
|
||||
}
|
||||
|
||||
//finish setup
|
||||
|
||||
Reference in New Issue
Block a user