Class Client

Revolt.js Clients

Hierarchy

  • AsyncEventEmitter<Events>
    • Client

Constructors

  • Create Revolt.js Client

    Parameters

    • Optionaloptions: Partial<ClientOptions>
    • Optionalconfiguration: {
          app: string;
          build: {
              commit_sha: string;
              commit_timestamp: string;
              origin_url: string;
              semver: string;
              timestamp: string;
          };
          features: {
              autumn: { enabled: boolean; url: string };
              captcha: { enabled: boolean; key: string };
              email: boolean;
              invite_only: boolean;
              january: { enabled: boolean; url: string };
              voso: { enabled: boolean; url: string; ws: string };
          };
          revolt: string;
          vapid: string;
          ws: string;
      }
      • app: string

        URL pointing to the client serving this node

      • build: {
            commit_sha: string;
            commit_timestamp: string;
            origin_url: string;
            semver: string;
            timestamp: string;
        }

        Build information

        • commit_sha: string

          Commit Hash

        • commit_timestamp: string

          Commit Timestamp

        • origin_url: string

          Git Origin URL

        • semver: string

          Git Semver

        • timestamp: string

          Build Timestamp

      • features: {
            autumn: { enabled: boolean; url: string };
            captcha: { enabled: boolean; key: string };
            email: boolean;
            invite_only: boolean;
            january: { enabled: boolean; url: string };
            voso: { enabled: boolean; url: string; ws: string };
        }

        Features enabled on this Revolt node

        • autumn: { enabled: boolean; url: string }

          File server service configuration

          • enabled: boolean

            Whether the service is enabled

          • url: string

            URL pointing to the service

        • captcha: { enabled: boolean; key: string }

          hCaptcha configuration

          • enabled: boolean

            Whether captcha is enabled

          • key: string

            Client key used for solving captcha

        • email: boolean

          Whether email verification is enabled

        • invite_only: boolean

          Whether this server is invite only

        • january: { enabled: boolean; url: string }

          Proxy service configuration

          • enabled: boolean

            Whether the service is enabled

          • url: string

            URL pointing to the service

        • voso: { enabled: boolean; url: string; ws: string }

          Voice server configuration

          • enabled: boolean

            Whether voice is enabled

          • url: string

            URL pointing to the voice API

          • ws: string

            URL pointing to the voice WebSocket server

      • revolt: string

        Revolt API Version

      • vapid: string

        Web Push VAPID public key

      • ws: string

        WebSocket URL

    Returns Client

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

account: AccountCollection
api: API.API
channelUnreads: ChannelUnreadCollection
channelWebhooks: ChannelWebhookCollection
configuration:
    | undefined
    | {
        app: string;
        build: {
            commit_sha: string;
            commit_timestamp: string;
            origin_url: string;
            semver: string;
            timestamp: string;
        };
        features: {
            autumn: { enabled: boolean; url: string };
            captcha: { enabled: boolean; key: string };
            email: boolean;
            invite_only: boolean;
            january: { enabled: boolean; url: string };
            voso: { enabled: boolean; url: string; ws: string };
        };
        revolt: string;
        vapid: string;
        ws: string;
    }

Type declaration

  • undefined
  • {
        app: string;
        build: {
            commit_sha: string;
            commit_timestamp: string;
            origin_url: string;
            semver: string;
            timestamp: string;
        };
        features: {
            autumn: { enabled: boolean; url: string };
            captcha: { enabled: boolean; key: string };
            email: boolean;
            invite_only: boolean;
            january: { enabled: boolean; url: string };
            voso: { enabled: boolean; url: string; ws: string };
        };
        revolt: string;
        vapid: string;
        ws: string;
    }
    • app: string

      URL pointing to the client serving this node

    • build: {
          commit_sha: string;
          commit_timestamp: string;
          origin_url: string;
          semver: string;
          timestamp: string;
      }

      Build information

      • commit_sha: string

        Commit Hash

      • commit_timestamp: string

        Commit Timestamp

      • origin_url: string

        Git Origin URL

      • semver: string

        Git Semver

      • timestamp: string

        Build Timestamp

    • features: {
          autumn: { enabled: boolean; url: string };
          captcha: { enabled: boolean; key: string };
          email: boolean;
          invite_only: boolean;
          january: { enabled: boolean; url: string };
          voso: { enabled: boolean; url: string; ws: string };
      }

      Features enabled on this Revolt node

      • autumn: { enabled: boolean; url: string }

        File server service configuration

        • enabled: boolean

          Whether the service is enabled

        • url: string

          URL pointing to the service

      • captcha: { enabled: boolean; key: string }

        hCaptcha configuration

        • enabled: boolean

          Whether captcha is enabled

        • key: string

          Client key used for solving captcha

      • email: boolean

        Whether email verification is enabled

      • invite_only: boolean

        Whether this server is invite only

      • january: { enabled: boolean; url: string }

        Proxy service configuration

        • enabled: boolean

          Whether the service is enabled

        • url: string

          URL pointing to the service

      • voso: { enabled: boolean; url: string; ws: string }

        Voice server configuration

        • enabled: boolean

          Whether voice is enabled

        • url: string

          URL pointing to the voice API

        • ws: string

          URL pointing to the voice WebSocket server

    • revolt: string

      Revolt API Version

    • vapid: string

      Web Push VAPID public key

    • ws: string

      WebSocket URL

connectionFailureCount: Accessor<number>
events: EventClient<1>
options: ClientOptions
ready: Accessor<boolean>
serverMembers: ServerMemberCollection
user: undefined | User

Accessors

  • get authenticationHeader(): [string, string]

    Get authentication header

    Returns [string, string]

  • get sessionId(): undefined | string

    Current session id

    Returns undefined | string

Methods

  • Type Parameters

    • K extends (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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 (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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
    )[]

  • Returns number

  • Type Parameters

    • K extends (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    Parameters

    • eventName: K

    Returns number

  • Parameters

    • eventName: string | symbol

    Returns number

  • Type Parameters

    • K extends (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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,
    >[]

  • Log in with auth data, creating a new session in the process.

    Parameters

    • details:
          | { email: string; friendly_name?: null
          | string; password: string }
          | {
              friendly_name?: null | string;
              mfa_response?:
                  | null
                  | { password: string }
                  | { recovery_code: string }
                  | { totp_code: string };
              mfa_ticket: string;
          }

      Login data object

      • { email: string; friendly_name?: null | string; password: string }
        • email: string

          Email

        • Optionalfriendly_name?: null | string

          Friendly name used for the session

        • password: string

          Password

      • {
            friendly_name?: null | string;
            mfa_response?:
                | null
                | { password: string }
                | { recovery_code: string }
                | { totp_code: string };
            mfa_ticket: string;
        }
        • Optionalfriendly_name?: null | string

          Friendly name used for the session

        • Optionalmfa_response?: null | { password: string } | { recovery_code: string } | { totp_code: string }

          Valid MFA response

          This will take precedence over the password field where applicable

        • mfa_ticket: string

          Unvalidated or authorised MFA ticket

          Used to resolve the correct account

    Returns Promise<void>

    An on-boarding function if on-boarding is required, undefined otherwise

  • Log in as a bot

    Parameters

    • token: string

      Bot token

    Returns Promise<void>

  • Prepare a markdown-based message to be displayed to the user as plain text.

    Parameters

    • source: string

      Source markdown text

    Returns string

    Modified plain text

  • Type Parameters

    • K extends (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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 (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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 (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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 (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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 (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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

  • Proxy a file through January.

    Parameters

    • url: string

      URL to proxy

    Returns undefined | string

    Proxied media URL

  • Type Parameters

    • K extends (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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 (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    Parameters

    • event: K

    Returns this

  • Type Parameters

    • K extends (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    Parameters

    • Optionalevent: K

    Returns this

  • Parameters

    • event: string | symbol

    Returns this

  • Parameters

    • Optionalevent: string | symbol

    Returns this

  • Type Parameters

    • K extends (keyof AsyncEventEmitterPredefinedEvents) | (keyof Events)

    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

  • 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[]>