Class Script

The script class is the main way you interact with botloader and discord.

Properties

description: string
name: string
pluginId: null | string
scriptId: number
settings: SettingsManager

Methods

  • Parameters

    • namespace: string

    Returns NumberBucket

    Deprecated

    use {@łink createStorageNumber}

  • Create new json storage buckets for persistent storage

    Type Parameters

    • T

    Parameters

    • namespace: string

      a "name" or "id" for the bucket. This is not script scoped and the same storage bucket can be registered in multiple scripts to have access to the same data, this is perfectly safe.

    Returns JsonBucket<T>

    Example

    interface Data{
    key: string,
    }
    let funStorage = script.createStorageJson(new Storage.JsonBucket<Data>("fun-data"));
  • Creates a new number storage bucket for persistent storage.

    This is the same as createStorageJson except that this bucket can only store number values, the upside of this is that it can be sorted.

    An example use case could be storing the scores of users in a leveling system with the key being their user ID and the value being their score this way you can use Storage.NumberBucket.sortedList to get a sorted list of entries.

    See createStorageJson for more general info on storage buckets

    Parameters

    • namespace: string

    Returns NumberBucket

  • Create a new persistent variable.

    This is built on top of storage buckets so you can think of it as a single entry inside a storage bucket.

    Type Parameters

    • T

    Parameters

    • key: string

      Key for the variable inside the storage bucket, the same key in another script will refer to the same entry

    • Optional options: StorageVarExtraOptions

      Additional options

    Returns JsonVar<T>

  • Create a new persistent variable.

    This is built on top of storage buckets so you can think of it as a single entry inside a storage bucket.

    Parameters

    • key: string

      Key for the variable inside the storage bucket, the same key in another script will refer to the same entry

    • Optional options: StorageVarExtraOptions

      Additional options

    Returns NumberVar

  • Type Parameters

    • T = undefined

    Parameters

    • options: {
          customScope?: CustomScope;
          name: string;
      }
    • cb: ((task) => any)
        • (task): any
        • Parameters

          Returns any

    Returns TaskBucket<T>

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "MESSAGE_DELETE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "MESSAGE_UPDATE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "MESSAGE_CREATE"
    • cb: ((evt) => void)
        • (evt): void
        • Parameters

          Returns void

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "MEMBER_ADD"
    • cb: ((evt) => void)
        • (evt): void
        • Parameters

          Returns void

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "MEMBER_UPDATE"
    • cb: ((evt) => void)
        • (evt): void
        • Parameters

          Returns void

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "MEMBER_REMOVE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "VOICE_STATE_UPDATE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "CHANNEL_CREATE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "CHANNEL_UPDATE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "CHANNEL_DELETE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "THREAD_CREATE"
    • cb: ((evt) => void)
        • (evt): void
        • Parameters

          Returns void

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "THREAD_UPDATE"
    • cb: ((evt) => void)
        • (evt): void
        • Parameters

          Returns void

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "THREAD_DELETE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "ROLE_CREATE"
    • cb: ((evt) => void)
        • (evt): void
        • Parameters

          Returns void

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "ROLE_UPDATE"
    • cb: ((evt) => void)
        • (evt): void
        • Parameters

          Returns void

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "ROLE_DELETE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "THREAD_LIST_SYNC"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "THREAD_MEMBER_UPDATE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "INVITE_CREATE"
    • cb: ((evt) => void)

    Returns void

  • Register a general event handler such as for arbitrary discord events like when a new message is sent in the server (MESSAGE_CREATE)

    Parameters

    • eventType: "INVITE_DELETE"
    • cb: ((evt) => void)

    Returns void

  • Register a handler for button interactions

    Type Parameters

    • T

    Parameters

    • name: string
    • cb: ((interaction, extraData) => any)

    Returns void

  • Register a handler for channel select menu interactions

    Type Parameters

    • T

    Parameters

    • name: string
    • cb: ((interaction, extraData) => any)

    Returns void

  • Register a handler for mentionable select menu interactions

    Type Parameters

    • T

    Parameters

    Returns void

  • Register a handler for when people submit modals

    Type Parameters

    • T

    Parameters

    • name: string
    • cb: ((interaction, customData) => any)

    Returns void

  • Register a handler for role select menu interactions

    Type Parameters

    • T

    Parameters

    • name: string
    • cb: ((interaction, extraData) => any)

    Returns void

  • Register a handler for text select menu interactions

    Type Parameters

    • T

    Parameters

    • name: string
    • cb: ((interaction, extraData) => any)

    Returns void

  • Register a handler for user select menu interactions

    Type Parameters

    • T

    Parameters

    • name: string
    • cb: ((interaction, extraData) => any)

    Returns void

  • Creates or resumes a interval timer.

    Parameters

    • name: string

      The name of the timer, this is not namespaced to the current script. You could overwrite a timer from another script with the same name.

    • interval: string | number

      The interval, either in minutes for running the callback at every x minutes, or a cron style timer.

      https://crontab.guru/ is a neat helper for making cron intervals

    • callback: (() => any)

      Callback to run at every interval

        • (): any
        • Returns any

    Returns void

    Example

     script.onInterval("gaming", "*/5 * * * *", () => {
    // do stuff here
    });
  • Register a scheduled task handler for the provided namespace.

    See Tasks for more info about scheduled tasks and how to schedule a new one.

    Type Parameters

    • T

    Parameters

    • namespace: string

      The task namespace to handle tasks from

    • cb: ((task) => any)

      The callback function to run, with the type of the data passed to the task when scheduled

        • (task): any
        • Parameters

          Returns any

    Returns Promise<void>

    Deprecated

    Use createTaskBucket instead.

    Example

    interface Data{
    key: string,
    }
    script.onTask<Data>("fun-tasks", (task) => {
    console.log("hello world");
    });
  • Parameters

    Returns void

Generated using TypeDoc