@tanzanite/discord-akairo
    Preparing search index...

    Class AkairoClient<Ready, Events>

    The Akairo framework client. Creates the handlers and sets them up.

    Type Parameters

    Hierarchy

    Index

    Constructors

    Properties

    "[brandSymbol]": Events

    This field doesn't actually exist, it's just a way to make TS properly infer the events from classes that extend AsyncEventEmitter

    application: If<Ready, ClientApplication>

    The action manager of the client

    channels: ChannelManager

    All of the BaseChannels that the client is currently handling, mapped by their ids - as long as sharding isn't being used, this will be every channel in every guild the bot is a member of. Note that DM channels will not be initially cached, and thus not be present in the Manager without their explicit fetching or use.

    guilds: GuildManager

    All of the guilds the client is currently handling, mapped by their ids - as long as sharding isn't being used, this will be every guild the bot is a member of

    lastPingTimestamps: ReadonlyCollection<number, number>

    The last time a ping was sent (a timestamp) for each WebSocketShard connection

    options: Omit<ClientOptions, "intents"> & { intents: IntentsBitField }

    The options the client was instantiated with

    ownerID: string | string[]

    The ID of the owner(s).

    readyTimestamp: If<Ready, number>

    Timestamp of the time the client was last Status.Ready at

    rest: REST

    The REST manager of the client

    shard: null | ShardClientUtil

    Shard helpers for the client (only if the process was spawned from a ShardingManager)

    status: Status

    The current status of this Client

    superUserID: string | string[]

    The ID of the superUser(s).

    sweepers: Sweepers

    The sweeping functions and their intervals used to periodically sweep caches

    token: If<Ready, string, null | string>

    Authorization token for the logged in bot. If present, this defaults to process.env.DISCORD_TOKEN when instantiating the client This should be kept private at all times.

    user: If<Ready, ClientUser>

    User that the client is logged in as

    users: UserManager

    All of the User objects that have been cached at any point, mapped by their ids

    Utility methods.

    voice: ClientVoiceManager

    The voice manager of the client

    ws: WebSocketManager

    The WebSocket manager of the client

    Accessors

    • get ping(): null | number

      The average ping of all WebSocketShards

      Returns null | number

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

      Time at which the client was last regarded as being in the Status.Ready state (each time the client disconnects and successfully reconnects, this will be overwritten)

      Returns If<Ready, Date>

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

      How long it has been since the client last entered the Status.Ready state in milliseconds

      Returns If<Ready, number>

    Methods

    • Returns Promise<void>

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Deletes a webhook.

      Parameters

      • id: string

        The webhook's id

      • Optionaloptions: WebhookDeleteOptions

        Options for deleting the webhook

      Returns Promise<void>

    • Logs out, terminates the connection to Discord, and destroys the client.

      Returns Promise<void>

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K
      • ...args: InternalGetAsyncEventEmitterEventParameters<AsyncEventEmitter<Events>, K>

      Returns boolean

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • ...args: InternalGetAsyncEventEmitterEventParameters<AsyncEventEmitter<Events>, K>

      Returns boolean

    • Returns (string | symbol)[] & (keyof AsyncEventEmitterPredefinedEvents)[] & (
          keyof Events
      )[]

    • Obtains the list of default soundboard sounds.

      Returns Promise<Collection<string, DefaultSoundboardSound>>

      client.fetchDefaultSoundboardSounds()
      .then(sounds => console.log(`Available soundboard sounds are: ${sounds.map(sound => sound.name).join(', ')}`))
      .catch(console.error);
    • Obtains a guild preview from Discord, available for all guilds the bot is in and all Discoverable guilds.

      Parameters

      • guild: GuildResolvable

        The guild to fetch the preview for

      Returns Promise<GuildPreview>

    • Obtains a template from Discord.

      Parameters

      • template: string

        Template code or URL

      Returns Promise<GuildTemplate>

      client.fetchGuildTemplate('https://discord.new/FKvmczH2HyUf')
      .then(template => console.log(`Obtained template with code: ${template.code}`))
      .catch(console.error);
    • Obtains the widget data of a guild from Discord, available for guilds with the widget enabled.

      Parameters

      • guild: GuildResolvable

        The guild to fetch the widget data for

      Returns Promise<Widget>

    • Obtains an invite from Discord.

      Parameters

      • invite: string

        Invite code or URL

      • Optionaloptions: ClientFetchInviteOptions

        Options for fetching the invite

      Returns Promise<Invite>

      client.fetchInvite('https://discord.gg/djs')
      .then(invite => console.log(`Obtained invite with code: ${invite.code}`))
      .catch(console.error);
    • Obtains a sticker from Discord.

      Parameters

      • id: string

        The sticker's id

      Returns Promise<Sticker>

      client.fetchSticker('id')
      .then(sticker => console.log(`Obtained sticker with name: ${sticker.name}`))
      .catch(console.error);
    • Obtains the list of available sticker packs.

      Parameters

      • Optionaloptions: { packId: string }

        Options for fetching sticker packs A collection of sticker packs, or a single sticker pack if a packId was provided

      Returns Promise<StickerPack>

      client.fetchStickerPacks()
      .then(packs => console.log(`Available sticker packs are: ${packs.map(pack => pack.name).join(', ')}`))
      .catch(console.error);
      client.fetchStickerPacks({ packId: '751604115435421716' })
      .then(pack => console.log(`Sticker pack name: ${pack.name}`))
      .catch(console.error);
    • Obtains the list of available sticker packs.

      Parameters

      • Optionaloptions: StickerPackFetchOptions

        Options for fetching sticker packs A collection of sticker packs, or a single sticker pack if a packId was provided

      Returns Promise<Collection<string, StickerPack>>

      client.fetchStickerPacks()
      .then(packs => console.log(`Available sticker packs are: ${packs.map(pack => pack.name).join(', ')}`))
      .catch(console.error);
      client.fetchStickerPacks({ packId: '751604115435421716' })
      .then(pack => console.log(`Sticker pack name: ${pack.name}`))
      .catch(console.error);
    • Obtains the available voice regions from Discord.

      Returns Promise<Collection<string, VoiceRegion>>

      client.fetchVoiceRegions()
      .then(regions => console.log(`Available regions are: ${regions.map(region => region.name).join(', ')}`))
      .catch(console.error);
    • Obtains a webhook from Discord.

      Parameters

      • id: string

        The webhook's id

      • Optionaltoken: string

        Token for the webhook

      Returns Promise<Webhook<WebhookType>>

      client.fetchWebhook('id', 'token')
      .then(webhook => console.log(`Obtained webhook with name: ${webhook.name}`))
      .catch(console.error);
    • Generates a link that can be used to invite the bot to a guild.

      Parameters

      • Optionaloptions: InviteGenerationOptions

        Options for the invite

      Returns string

      const link = client.generateInvite({
      scopes: ['applications.commands'],
      });
      console.log(`Generated application invite link: ${link}`);
      const link = client.generateInvite({
      permissions: [
      PermissionFlagsBits.SendMessages,
      PermissionFlagsBits.ManageGuild,
      PermissionFlagsBits.MentionEveryone,
      ],
      scopes: ['bot'],
      });
      console.log(`Generated bot invite link: ${link}`);
    • Returns number

    • Checks if a user is the owner of this bot.

      Parameters

      • user: UserResolvable

        User to check.

      Returns boolean

    • Returns whether the client has logged in, indicative of being able to access properties such as user and application.

      Returns this is Client<true, ClientEventTypes>

    • Checks if a user is a super user of this bot.

      Parameters

      • user: UserResolvable

        User to check.

      Returns boolean

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K

      Returns number

    • Parameters

      • eventName: string | symbol

      Returns number

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K

      Returns Exclude<
          InternalAsyncEventEmitterInternalListenerForEvent<
              AsyncEventEmitter<Events>,
              K,
              Events,
          >["listener"],
          undefined,
      >[]

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K

      Returns Exclude<
          InternalAsyncEventEmitterInternalListenerForEvent<
              AsyncEventEmitter<Events>,
              K,
              Events,
          >["listener"],
          undefined,
      >[]

    • Logs the client in, establishing a WebSocket connection to Discord.

      Parameters

      • Optionaltoken: string

        Token of the account to log in with

      Returns Promise<string>

      Token of the account used

      client.login('my token');
      
    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K

      Returns InternalAsyncEventEmitterInternalListenerForEvent<
          AsyncEventEmitter<Events>,
          K,
          Events,
      >[]

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K

      Returns InternalAsyncEventEmitterInternalListenerForEvent<
          AsyncEventEmitter<Events>,
          K,
          Events,
      >[]

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • event: K

      Returns this

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • Optionalevent: K

      Returns this

    • Parameters

      • event: string | symbol

      Returns this

    • Parameters

      • Optionalevent: string | symbol

      Returns this

    • Type Parameters

      • K extends string | number | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Type Parameters

      • K extends string | symbol

      Parameters

      • eventName: K
      • listener: Exclude<
            InternalAsyncEventEmitterInternalListenerForEvent<
                AsyncEventEmitter<Events>,
                K,
                Events,
            >["listener"],
            undefined,
        >

      Returns this

    • Parameters

      • n: number

      Returns this

    • Transforms the client into a plain object.

      Returns unknown

    • Returns Promise<boolean>

    • Type Parameters

      • EventMap extends {}
      • EventName extends PropertyKey = (keyof AsyncEventEmitterPredefinedEvents) | keyof EventMap

      Parameters

      • emitter: AsyncEventEmitter<EventMap>
      • eventName: (keyof AsyncEventEmitterPredefinedEvents) | EventName

      Returns number

    • Parameters

      • emitter: AsyncEventEmitter<any>
      • eventName: string | symbol

      Returns number

    • Type Parameters

      • EventMap extends {}
      • EventName extends PropertyKey = (keyof AsyncEventEmitterPredefinedEvents) | keyof EventMap

      Parameters

      • emitter: AsyncEventEmitter<EventMap>
      • eventName: EventName
      • Optionaloptions: AbortableMethods

      Returns AsyncGenerator<
          InternalGetAsyncEventEmitterEventParameters<
              AsyncEventEmitter<EventMap>,
              EventName,
              EventMap,
          >,
          void,
      >

    • Parameters

      • emitter: AsyncEventEmitter<any>
      • eventName: string | symbol
      • Optionaloptions: AbortableMethods

      Returns AsyncGenerator<any[], void>

    • Type Parameters

      • EventMap extends {}
      • EventName extends PropertyKey = (keyof AsyncEventEmitterPredefinedEvents) | keyof EventMap

      Parameters

      • emitter: AsyncEventEmitter<EventMap>
      • eventName: EventName
      • Optionaloptions: AbortableMethods

      Returns Promise<
          InternalGetAsyncEventEmitterEventParameters<
              AsyncEventEmitter<EventMap>,
              EventName,
              EventMap,
          >,
      >

    • Parameters

      • emitter: AsyncEventEmitter<any>
      • eventName: string | symbol
      • Optionaloptions: AbortableMethods

      Returns Promise<any[]>