diff --git a/Skeleton/next/classes/ModuleAutocompleteHandler.html b/Skeleton/next/classes/ModuleAutocompleteHandler.html index a9ccfcf..d46a035 100644 --- a/Skeleton/next/classes/ModuleAutocompleteHandler.html +++ b/Skeleton/next/classes/ModuleAutocompleteHandler.html @@ -1,4 +1,4 @@ -ModuleAutocompleteHandler | Skeleton (next) - v4.1.3

Class ModuleAutocompleteHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleAutocompleteHandler

Constructors

constructor +ModuleAutocompleteHandler | Skeleton (next) - v4.1.3

Class ModuleAutocompleteHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleAutocompleteHandler

Constructors

Properties

Methods

Constructors

Properties

execute: GenericAutocompleteExecuteFunction
type: string = ...

Methods

Constructors

Properties

execute: GenericAutocompleteExecuteFunction
type: string = ...

Methods

  • Checks if this handler is an unconfigured handler.

    Returns this is ModuleBaseHandler

    Whether this handler is an unconfigured handler.

    -
  • Sets the execute function for this handler.

    Parameters

    • execute: GenericAutocompleteExecuteFunction

      The execute function.

    Returns this

    This instance for chaining.

    -
  • Validates the handler, ensuring the execute function is set.

    Returns boolean

    Whether the handler is valid.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/Skeleton/next/classes/ModuleButtonHandler.html b/Skeleton/next/classes/ModuleButtonHandler.html index 83f4cc9..1f8cbf7 100644 --- a/Skeleton/next/classes/ModuleButtonHandler.html +++ b/Skeleton/next/classes/ModuleButtonHandler.html @@ -1,4 +1,4 @@ -ModuleButtonHandler | Skeleton (next) - v4.1.3

Class ModuleButtonHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleButtonHandler

Constructors

constructor +ModuleButtonHandler | Skeleton (next) - v4.1.3

Class ModuleButtonHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleButtonHandler

Constructors

Properties

Methods

Constructors

Properties

execute: GenericButtonExecuteFunction
type: string = ...

Methods

Constructors

Properties

execute: GenericButtonExecuteFunction
type: string = ...

Methods

  • Checks if this handler is an unconfigured handler.

    Returns this is ModuleBaseHandler

    Whether this handler is an unconfigured handler.

    -
  • Sets the execute function for this handler.

    Parameters

    • execute: GenericButtonExecuteFunction

      The execute function.

    Returns this

    This instance for chaining.

    -
  • Validates the handler, ensuring the execute function is set.

    Returns boolean

    Whether the handler is valid.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/Skeleton/next/classes/ModuleCommandHandler.html b/Skeleton/next/classes/ModuleCommandHandler.html index 5301b92..14e8847 100644 --- a/Skeleton/next/classes/ModuleCommandHandler.html +++ b/Skeleton/next/classes/ModuleCommandHandler.html @@ -1,4 +1,4 @@ -ModuleCommandHandler | Skeleton (next) - v4.1.3

Class ModuleCommandHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleCommandHandler

Constructors

constructor +ModuleCommandHandler | Skeleton (next) - v4.1.3

Class ModuleCommandHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleCommandHandler

Constructors

Properties

data execute type @@ -14,30 +14,30 @@ setData setExecute validate -

Constructors

Properties

data: SlashCommandBuilder
execute: GenericCommandExecuteFunction
type: string = ...

Methods

Constructors

Properties

data: SlashCommandBuilder
execute: GenericCommandExecuteFunction
type: string = ...

Methods

  • Checks if this handler is an unconfigured handler.

    Returns this is ModuleBaseHandler

    Whether this handler is an unconfigured handler.

    -
  • Sets the SlashCommandBuilder data for this handler.

    Parameters

    • data: SlashCommandBuilder

      The SlashCommandBuilder data.

    Returns this

    This instance for chaining.

    -
  • Sets the execute function for this handler.

    Parameters

    • execute: GenericCommandExecuteFunction

      The execute function.

    Returns this

    This instance for chaining.

    -
  • Validates the handler, ensuring the SlashCommandBuilder data and execute function are set.

    Returns boolean

    Whether the handler is valid.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/Skeleton/next/classes/ModuleEventHandler.html b/Skeleton/next/classes/ModuleEventHandler.html index ff7492f..d60ed6f 100644 --- a/Skeleton/next/classes/ModuleEventHandler.html +++ b/Skeleton/next/classes/ModuleEventHandler.html @@ -1,4 +1,4 @@ -ModuleEventHandler | Skeleton (next) - v4.1.3

Class ModuleEventHandler<E>

Type Parameters

Hierarchy

  • ModuleBaseHandler
    • ModuleEventHandler

Constructors

constructor +ModuleEventHandler | Skeleton (next) - v4.1.3

Class ModuleEventHandler<E>

Type Parameters

Hierarchy

  • ModuleBaseHandler
    • ModuleEventHandler

Constructors

Properties

execute once type @@ -15,33 +15,33 @@ setExecute setOnce validate -

Constructors

Properties

execute: GenericEventExecuteFunction<keyof ClientEvents>
once: boolean = false
type: string = ...

Methods

Constructors

Properties

execute: GenericEventExecuteFunction<keyof ClientEvents>
once: boolean = false
type: string = ...

Methods

  • Checks if this handler is an unconfigured handler.

    Returns this is ModuleBaseHandler

    Whether this handler is an unconfigured handler.

    -
  • Sets the execute function for this handler.

    Parameters

    • execute: E extends keyof ClientEvents
          ? GenericEventExecuteFunction<E<E>>
          : GenericExecuteFunction

      The execute function.

    Returns this

    This instance for chaining.

    -
  • Set whether this event handler should only be called once.

    Parameters

    • once: boolean

      Whether this event handler should only be called once.

    Returns this

    This instance for chaining.

    -
  • Validates the handler, ensuring the execute function is set.

    Returns boolean

    Whether the handler is valid.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/Skeleton/next/classes/ModuleMenuCommandHandler.html b/Skeleton/next/classes/ModuleMenuCommandHandler.html index d3b57b2..ea4b599 100644 --- a/Skeleton/next/classes/ModuleMenuCommandHandler.html +++ b/Skeleton/next/classes/ModuleMenuCommandHandler.html @@ -1,4 +1,4 @@ -ModuleMenuCommandHandler | Skeleton (next) - v4.1.3

Class ModuleMenuCommandHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleMenuCommandHandler

Constructors

constructor +ModuleMenuCommandHandler | Skeleton (next) - v4.1.3

Class ModuleMenuCommandHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleMenuCommandHandler

Constructors

Properties

data execute type @@ -14,30 +14,30 @@ setData setExecute validate -

Constructors

Properties

data: ContextMenuCommandBuilder
execute: GenericMenuCommandExecuteFunction
type: string = ...

Methods

Constructors

Properties

data: ContextMenuCommandBuilder
execute: GenericMenuCommandExecuteFunction
type: string = ...

Methods

  • Checks if this handler is an unconfigured handler.

    Returns this is ModuleBaseHandler

    Whether this handler is an unconfigured handler.

    -
  • Sets the ContextMenuCommandBuilder data for this handler.

    Parameters

    • data: ContextMenuCommandBuilder

      The ContextMenuCommandBuilder data.

    Returns this

    This instance for chaining.

    -
  • Sets the execute function for this handler.

    Parameters

    • execute: GenericMenuCommandExecuteFunction

      The execute function.

    Returns this

    This instance for chaining.

    -
  • Validates the handler, ensuring the ContextMenuCommandBuilder data and execute function are set.

    Returns boolean

    Whether the handler is valid.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/Skeleton/next/classes/ModuleMessageCommandHandler.html b/Skeleton/next/classes/ModuleMessageCommandHandler.html index 766a78d..162eb94 100644 --- a/Skeleton/next/classes/ModuleMessageCommandHandler.html +++ b/Skeleton/next/classes/ModuleMessageCommandHandler.html @@ -1,4 +1,4 @@ -ModuleMessageCommandHandler | Skeleton (next) - v4.1.3

Class ModuleMessageCommandHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleMessageCommandHandler

Constructors

constructor +ModuleMessageCommandHandler | Skeleton (next) - v4.1.3

Class ModuleMessageCommandHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleMessageCommandHandler

Constructors

Properties

Methods

Constructors

Properties

execute: GenericMessageCommandExecuteFunction
type: string = ...

Methods

Constructors

Properties

execute: GenericMessageCommandExecuteFunction
type: string = ...

Methods

  • Checks if this handler is an unconfigured handler.

    Returns this is ModuleBaseHandler

    Whether this handler is an unconfigured handler.

    -
  • Sets the execute function for this handler.

    Parameters

    • execute: GenericMessageCommandExecuteFunction

      The execute function.

    Returns this

    This instance for chaining.

    -
  • Validates the handler, ensuring the execute function is set.

    Returns boolean

    Whether the handler is valid.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/Skeleton/next/classes/ModuleModalSubmitHandler.html b/Skeleton/next/classes/ModuleModalSubmitHandler.html index fe0e278..116dcb4 100644 --- a/Skeleton/next/classes/ModuleModalSubmitHandler.html +++ b/Skeleton/next/classes/ModuleModalSubmitHandler.html @@ -1,4 +1,4 @@ -ModuleModalSubmitHandler | Skeleton (next) - v4.1.3

Class ModuleModalSubmitHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleModalSubmitHandler

Constructors

constructor +ModuleModalSubmitHandler | Skeleton (next) - v4.1.3

Class ModuleModalSubmitHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleModalSubmitHandler

Constructors

Properties

Methods

Constructors

Properties

execute: GenericModalSubmitExecuteFunction
type: string = ...

Methods

Constructors

Properties

execute: GenericModalSubmitExecuteFunction
type: string = ...

Methods

  • Checks if this handler is an unconfigured handler.

    Returns this is ModuleBaseHandler

    Whether this handler is an unconfigured handler.

    -
  • Sets the execute function for this handler.

    Parameters

    • execute: GenericModalSubmitExecuteFunction

      The execute function.

    Returns this

    This instance for chaining.

    -
  • Validates the handler, ensuring the execute function is set.

    Returns boolean

    Whether the handler is valid.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/Skeleton/next/classes/ModuleSelectMenuHandler.html b/Skeleton/next/classes/ModuleSelectMenuHandler.html index f44852b..3c88179 100644 --- a/Skeleton/next/classes/ModuleSelectMenuHandler.html +++ b/Skeleton/next/classes/ModuleSelectMenuHandler.html @@ -1,4 +1,4 @@ -ModuleSelectMenuHandler | Skeleton (next) - v4.1.3

Class ModuleSelectMenuHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleSelectMenuHandler

Constructors

constructor +ModuleSelectMenuHandler | Skeleton (next) - v4.1.3

Class ModuleSelectMenuHandler

Hierarchy

  • ModuleBaseHandler
    • ModuleSelectMenuHandler

Constructors

Properties

Methods

Constructors

Properties

execute: GenericSelectMenuExecuteFunction
type: string = ...

Methods

Constructors

Properties

execute: GenericSelectMenuExecuteFunction
type: string = ...

Methods

  • Checks if this handler is an unconfigured handler.

    Returns this is ModuleBaseHandler

    Whether this handler is an unconfigured handler.

    -
  • Sets the execute function for this handler.

    Parameters

    • execute: GenericSelectMenuExecuteFunction

      The execute function.

    Returns this

    This instance for chaining.

    -
  • Validates the handler, ensuring the execute function is set.

    Returns boolean

    Whether the handler is valid.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/Skeleton/next/classes/SkeletonClient.html b/Skeleton/next/classes/SkeletonClient.html index 4f7cce3..5347c69 100644 --- a/Skeleton/next/classes/SkeletonClient.html +++ b/Skeleton/next/classes/SkeletonClient.html @@ -1,4 +1,4 @@ -SkeletonClient | Skeleton (next) - v4.1.3

Class SkeletonClient

Hierarchy

  • Client
    • SkeletonClient

Constructors

constructor +SkeletonClient | Skeleton (next) - v4.1.3

Class SkeletonClient

Hierarchy

  • Client
    • SkeletonClient

Constructors

Properties

Returns SkeletonClient

const client = new SkeletonClient(
{
intents: [
GatewayIntentBits.Guilds,
],
partials: [
Partials.Channel
],
},
'MusicBot'
);
-
  • Creates an instance of SkeletonClient.

    +
  • Creates an instance of SkeletonClient.

    Parameters

    • options: ClientOptions

      discord.js ClientOptions

    • appOptions: {
          appName?: string;
          prefix?: string | string[];
      }

      Options for the application

      • OptionalappName?: string
      • Optionalprefix?: string | string[]

    Returns SkeletonClient

    const client = new SkeletonClient(
    {
    intents: [
    GatewayIntentBits.Guilds,
    ],
    partials: [
    Partials.Channel
    ],
    },
    { appName: 'MusicBot', prefix: 'm!' }
    ); @@ -60,12 +60,12 @@
    const client = new SkeletonClient(
    {
    intents: [
    GatewayIntentBits.Guilds,
    ],
    partials: [
    Partials.Channel
    ],
    },
    { appName: 'MusicBot', prefix: ['musicbot ', '@mention ', 'm!'] }
    );
    -
  • Properties

    application: ClientApplication
    channels: ChannelManager
    eventHandlers: Collection<string, ModuleEventHandler<AcceptedEventTypes>[]> = ...
    guilds: GuildManager
    interactionHandlers: InteractionHandlersObject = ...
    logger: LoggerObject
    messageCommandHandlers: Collection<string, ModuleMessageCommandHandler> = ...
    options: Omit<ClientOptions, "intents"> & {
        intents: IntentsBitField;
    }
    readyTimestamp: number
    rest: REST
    shard: ShardClientUtil
    sweepers: Sweepers
    token: string
    user: ClientUser
    users: UserManager
    voice: ClientVoiceManager
    ws: WebSocketManager

    Accessors

    • get emojis(): BaseGuildEmojiManager
    • Returns BaseGuildEmojiManager

    • get readyAt(): If<Ready, Date, null>
    • Returns If<Ready, Date, null>

    • get uptime(): If<Ready, number, null>
    • Returns If<Ready, number, null>

    Methods

    • Returns Promise<void>

    • Deletes application commands. Only use after you've logged in to Discord.

      -

      Returns Promise<void>

    • Parameters

      • id: string
      • Optionaloptions: WebhookDeleteOptions

      Returns Promise<void>

    • Deploys application commands. Only use after you've initialized the client and logged in to Discord.

      -

      Returns Promise<void>

    • Returns Promise<void>

    • Type Parameters

      • Event extends keyof ClientEvents

      Parameters

      Returns boolean

    • Type Parameters

      • Event extends string | symbol

      Parameters

      • event: Exclude<Event, keyof ClientEvents>
      • Rest...args: unknown[]

      Returns boolean

    • Parameters

      • guild: GuildResolvable

      Returns Promise<GuildPreview>

    • Parameters

      • template: string

      Returns Promise<GuildTemplate>

    • Parameters

      • guild: GuildResolvable

      Returns Promise<Widget>

    • Parameters

      • invite: string
      • Optionaloptions: ClientFetchInviteOptions

      Returns Promise<Invite>

    • Returns Promise<Collection<string, StickerPack>>

      Use Client.fetchStickerPacks instead.

      +

    Properties

    application: ClientApplication
    channels: ChannelManager
    eventHandlers: Collection<string, ModuleEventHandler<AcceptedEventTypes>[]> = ...
    guilds: GuildManager
    interactionHandlers: InteractionHandlersObject = ...
    logger: LoggerObject
    messageCommandHandlers: Collection<string, ModuleMessageCommandHandler> = ...
    options: Omit<ClientOptions, "intents"> & {
        intents: IntentsBitField;
    }
    readyTimestamp: number
    rest: REST
    shard: ShardClientUtil
    sweepers: Sweepers
    token: string
    user: ClientUser
    users: UserManager
    voice: ClientVoiceManager
    ws: WebSocketManager

    Accessors

    • get emojis(): BaseGuildEmojiManager
    • Returns BaseGuildEmojiManager

    • get readyAt(): If<Ready, Date, null>
    • Returns If<Ready, Date, null>

    • get uptime(): If<Ready, number, null>
    • Returns If<Ready, number, null>

    Methods

    • Returns Promise<void>

    • Deletes application commands. Only use after you've logged in to Discord.

      +

      Returns Promise<void>

    • Parameters

      • id: string
      • Optionaloptions: WebhookDeleteOptions

      Returns Promise<void>

    • Deploys application commands. Only use after you've initialized the client and logged in to Discord.

      +

      Returns Promise<void>

    • Returns Promise<void>

    • Type Parameters

      • Event extends keyof ClientEvents

      Parameters

      Returns boolean

    • Type Parameters

      • Event extends string | symbol

      Parameters

      • event: Exclude<Event, keyof ClientEvents>
      • Rest...args: unknown[]

      Returns boolean

    • Parameters

      • guild: GuildResolvable

      Returns Promise<GuildPreview>

    • Parameters

      • template: string

      Returns Promise<GuildTemplate>

    • Parameters

      • guild: GuildResolvable

      Returns Promise<Widget>

    • Parameters

      • invite: string
      • Optionaloptions: ClientFetchInviteOptions

      Returns Promise<Invite>

    • Returns Promise<Collection<string, StickerPack>>

      Use Client.fetchStickerPacks instead.

    • Parameters

      • id: string

      Returns Promise<Sticker>

    • Returns Promise<Collection<string, StickerPack>>

    • Returns Promise<Collection<string, VoiceRegion>>

    • Parameters

      • id: string
      • Optionaltoken: string

      Returns Promise<Webhook<WebhookType>>

    • Parameters

      • Optionaloptions: InviteGenerationOptions

      Returns string

    • Initialize the client, sets up the event handlers

      Parameters

      • baseURL: string

        The base URL (usually import.meta.url) of the main/index file

      Returns Promise<void>

      await client.initialize(import.meta.url);
      client.login(process.env.DISCORD_BOT_TOKEN);
      -
    • Returns this is Client<true>

    • Parameters

      • token: string

      Returns Promise<string>

    • Type Parameters

      • Event extends keyof ClientEvents

      Parameters

      • event: Event
      • listener: ((...args: ClientEvents[Event]) => void)
          • (...args): void
          • Parameters

            • Rest...args: ClientEvents[Event]

            Returns void

      Returns this

    • Type Parameters

      • Event extends string | symbol

      Parameters

      • event: Exclude<Event, keyof ClientEvents>
      • listener: ((...args: any[]) => void)
          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      Returns this

    • Type Parameters

      • Event extends keyof ClientEvents

      Parameters

      • event: Event
      • listener: ((...args: ClientEvents[Event]) => void)
          • (...args): void
          • Parameters

            • Rest...args: ClientEvents[Event]

            Returns void

      Returns this

    • Type Parameters

      • Event extends string | symbol

      Parameters

      • event: Exclude<Event, keyof ClientEvents>
      • listener: ((...args: any[]) => void)
          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      Returns this

    • Type Parameters

      • Event extends keyof ClientEvents

      Parameters

      • event: Event
      • listener: ((...args: ClientEvents[Event]) => void)
          • (...args): void
          • Parameters

            • Rest...args: ClientEvents[Event]

            Returns void

      Returns this

    • Type Parameters

      • Event extends string | symbol

      Parameters

      • event: Exclude<Event, keyof ClientEvents>
      • listener: ((...args: any[]) => void)
          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      Returns this

    • Type Parameters

      • Event extends keyof ClientEvents

      Parameters

      Returns this

    • Type Parameters

      • Event extends string | symbol

      Parameters

      • Optionalevent: Exclude<Event, keyof ClientEvents>

      Returns this

    • Returns unknown

    • Type Parameters

      • Emitter extends EventEmitter
      • Events extends keyof ClientEvents

      Parameters

      Returns AsyncIterableIterator<Emitter extends Client<boolean>
          ? ClientEvents[Events]
          : any>

    • Type Parameters

      • Emitter extends EventEmitter
      • Event extends keyof ClientEvents

      Parameters

      Returns Promise<Emitter extends Client<boolean>
          ? ClientEvents[Event]
          : any[]>

    \ No newline at end of file +
    \ No newline at end of file diff --git a/Skeleton/next/types/AcceptedEventTypes.html b/Skeleton/next/types/AcceptedEventTypes.html index d9e705e..24901c2 100644 --- a/Skeleton/next/types/AcceptedEventTypes.html +++ b/Skeleton/next/types/AcceptedEventTypes.html @@ -1 +1 @@ -AcceptedEventTypes | Skeleton (next) - v4.1.3

    Type Alias AcceptedEventTypes

    AcceptedEventTypes: keyof ClientEvents | string | symbol
    \ No newline at end of file +AcceptedEventTypes | Skeleton (next) - v4.1.3

    Type Alias AcceptedEventTypes

    AcceptedEventTypes: keyof ClientEvents | string | symbol
    \ No newline at end of file diff --git a/Skeleton/next/types/InteractionHandlersObject.html b/Skeleton/next/types/InteractionHandlersObject.html index eaf031e..667a909 100644 --- a/Skeleton/next/types/InteractionHandlersObject.html +++ b/Skeleton/next/types/InteractionHandlersObject.html @@ -1 +1 @@ -InteractionHandlersObject | Skeleton (next) - v4.1.3

    Type Alias InteractionHandlersObject

    InteractionHandlersObject: {
        autocomplete: Collection<string, ModuleAutocompleteHandler>;
        button: Collection<string, ModuleButtonHandler>;
        command: Collection<string, ModuleCommandHandler>;
        menuCommand: Collection<string, ModuleMenuCommandHandler>;
        modalSubmit: Collection<string, ModuleModalSubmitHandler>;
        selectMenu: Collection<string, ModuleSelectMenuHandler>;
    }
    \ No newline at end of file +InteractionHandlersObject | Skeleton (next) - v4.1.3

    Type Alias InteractionHandlersObject

    InteractionHandlersObject: {
        autocomplete: Collection<string, ModuleAutocompleteHandler>;
        button: Collection<string, ModuleButtonHandler>;
        command: Collection<string, ModuleCommandHandler>;
        menuCommand: Collection<string, ModuleMenuCommandHandler>;
        modalSubmit: Collection<string, ModuleModalSubmitHandler>;
        selectMenu: Collection<string, ModuleSelectMenuHandler>;
    }
    \ No newline at end of file diff --git a/Skeleton/next/variables/ZPTXClient.html b/Skeleton/next/variables/ZPTXClient.html index 799d13c..920b034 100644 --- a/Skeleton/next/variables/ZPTXClient.html +++ b/Skeleton/next/variables/ZPTXClient.html @@ -1,2 +1,2 @@ ZPTXClient | Skeleton (next) - v4.1.3

    Variable ZPTXClientConst

    ZPTXClient: typeof SkeletonClient = SkeletonClient

    Use SkeletonClient instead.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/Skeleton/next/variables/logger.html b/Skeleton/next/variables/logger.html index a020623..5e932d6 100644 --- a/Skeleton/next/variables/logger.html +++ b/Skeleton/next/variables/logger.html @@ -1,2 +1,2 @@ logger | Skeleton (next) - v4.1.3

    Variable loggerConst

    logger: Logger = DeprecatedLogger

    Use the logger provided by SkeletonClient instead.

    -
    \ No newline at end of file +
    \ No newline at end of file