mirror of
https://github.com/sern-handler/handler
synced 2026-06-27 18:22:14 +00:00
feat: 4.2.0 load multiple directories & handleModuleErrors (#378)
* error-handling-draft * feat: array based module loading (#379) Co-authored-by: Jacob Nguyen <76754747+jacoobes@users.noreply.github.com> * Update utility.ts * Update sern.ts * describesemanticsbetter --------- Co-authored-by: Duro <davidwright13503@gmail.com>
This commit is contained in:
@@ -26,9 +26,65 @@ export type UnpackedDependencies = {
|
||||
export type ReplyOptions = string | Omit<InteractionReplyOptions, 'fetchReply'> | MessageReplyOptions;
|
||||
|
||||
|
||||
/**
|
||||
* @interface Wrapper
|
||||
* @description Configuration interface for the sern framework. This interface defines
|
||||
* the structure for configuring essential framework features including command handling,
|
||||
* event management, and task scheduling.
|
||||
*/
|
||||
export interface Wrapper {
|
||||
commands: string;
|
||||
/**
|
||||
* @property {string|string[]} commands
|
||||
* @description Specifies the directory path where command modules are located.
|
||||
* This is a required property that tells sern where to find and load command files.
|
||||
* The path should be relative to the project root. If given an array, each directory is loaded in order
|
||||
* they were declared. Order of modules in each directory is not guaranteed
|
||||
*
|
||||
* @example
|
||||
* commands: ["./dist/commands"]
|
||||
*/
|
||||
commands: string | string[];
|
||||
/**
|
||||
* @property {boolean} [handleModuleErrors]
|
||||
* @description Optional flag to enable automatic error handling for modules.
|
||||
* When enabled, sern will automatically catch and handle errors that occur
|
||||
* during module execution, preventing crashes and providing error logging.
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
handleModuleErrors?: boolean;
|
||||
/**
|
||||
* @property {string} [defaultPrefix]
|
||||
* @description Optional prefix for text commands. This prefix will be used
|
||||
* to identify text commands in messages. If not specified, text commands {@link CommandType.Text}
|
||||
* will be disabled.
|
||||
*
|
||||
* @example
|
||||
* defaultPrefix: "?"
|
||||
*/
|
||||
defaultPrefix?: string;
|
||||
events?: string;
|
||||
tasks?: string;
|
||||
/**
|
||||
* @property {string|string[]} [events]
|
||||
* @description Optional directory path where event modules are located.
|
||||
* If provided, Sern will automatically register and handle events from
|
||||
* modules in this directory. The path should be relative to the project root.
|
||||
* If given an array, each directory is loaded in order they were declared.
|
||||
* Order of modules in each directory is not guaranteed.
|
||||
*
|
||||
* @example
|
||||
* events: ["./dist/events"]
|
||||
*/
|
||||
events?: string | string[];
|
||||
/**
|
||||
* @property {string|string[]} [tasks]
|
||||
* @description Optional directory path where scheduled task modules are located.
|
||||
* If provided, Sern will automatically register and handle scheduled tasks
|
||||
* from modules in this directory. The path should be relative to the project root.
|
||||
* If given an array, each directory is loaded in order they were declared.
|
||||
* Order of modules in each directory is not guaranteed.
|
||||
*
|
||||
* @example
|
||||
* tasks: ["./dist/tasks"]
|
||||
*/
|
||||
tasks?: string | string[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user