JSPM

  • Created
  • Published
  • Downloads 61
  • Score
    100M100P100Q85030F
  • License MIT

Package Exports

    Readme

    {:target="_blank"} {:target="_blank"} {:target="_blank"}

    A strictly typed Roblox API wrapper which supports both classic (BEDEV & BEDEV2) and OpenCloud endpoints.


    Openblox allows your typescript (and javascript) codebase to communicate with the Roblox API extemely easily.

    It wraps over 100+ Roblox API endpoints, each with its own strictly typed response data. Typings were written manually as opposed to programatically generating them to ensure the strictest possible type-safety.

    • Automatically handles csrf tokens.

    • Prettifies / formats responses from the Roblox API to be developer friendly as possible, and to maintain a consistant (see Prettification).

    • All results from Openblox methods return the underlying http response with it.

    • Easily iterate over paginated endpoints (see Pagination).

    • Each Openblox method utilises only one Roblox API endpoint to ensure clarity and efficiency in your codebase.

    • Scarcely utilise classes to ensure treeshakability.


    Example Usage

    import "dotenv/config";
    import { setConfig } from "openblox/config";
    import { UsersApi } from "openblox/cloud";
    import { ClassicUsersApi } from "openblox/classic"; // Classic (BEDEV & BEDEV2) APIs will always be prefixed with `Classic`.
    
    /*
    Naming your Roblox Cookie environment variable `ROBLOX_COOKIE` will automatically
    import it into your Openblox config, therefore voiding the need to set it in the config
    manually. Similarly, naming your OpenCloud API Key environment variable `ROBLOX_CLOUD_KEY`
    will also automatically import it into your Openblox config.
    */
    setConfig({
      cookie: process.env.MY_ROBLOX_COOKIE,
      cloudKey: process.env.MY_ROBLOX_CLOUD_KEY
    })
    
    (async () => {
    
      const { data:userInfo_classic } = await ClassicUsersApi.userInfo({ userId: 45348281 })
    
      const { data:userInfo_cloud } = await UsersApi.userInfo({ userId: 45348281 })
    
    })

    See more examples here!


    Openblox Methods

    Openblox methods all return an object containing the following

    const {
      data: unknown, // The prettified / formatted data from the Roblox api endpoint (As an optimisation, prettification / formatting only happens once accessed / destructured).
    
      response: HttpResponse, // The http response from the Roblox api endpoint. The raw unprettified data can be accessed via `response.body`.
    
      cursors: { next: string, previous: string }, // Only exists on paginated endpoints. Contains the previous and next cursor.
    } = OpenbloxApi.method(...)