JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 41
  • Score
    100M100P100Q64199F
  • License MIT

Package Exports

  • roblox

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (roblox) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

roblox

This module is intended to be used to access the Roblox platform and handle (the best it can) mumbojumbo like X-CSRF-Token headers and throttling/retries.

This package is not published by or supported by Roblox, and is published independently. It may break at any time. Feel free to fork it.

Authentication

Example

import { RobloxHttpClient } from "roblox";

const robloxHttpClient = new RobloxHttpClient({
    // You can put @tix-factory/http HttpClient options here
    // See: https://www.npmjs.com/package/@tix-factory/http
});

const authenticationTicket = "some authentication ticket that came from https://auth.roblox.com/v1/authentication-ticket (POST, RBX-Authentication-Ticket header)";
robloxHttpClient.authenticate(authenticationTicket).then(user => {
    console.log("logged in as", user);
}).catch(err => {
    // Failed to authenticate :(
    console.error(err);
});

Catalog

Example

import { RobloxHttpClient, CatalogClient } from "roblox";

const robloxHttpClient = new RobloxHttpClient({
    // You can put @tix-factory/http HttpClient options here
    // See: https://www.npmjs.com/package/@tix-factory/http
});

const robloxCatalogClient = new RobloxCatalogClient(robloxHttpClient, err => {
    // An error occurred while sending a request through the client.
    // Because the request is retried/batched it's possible this will not affect any awaiting promises.
    // This method exists so the module doesn't completely drop the error into the void.
    // You can expect any individual method call to reject if it maxes out on retries.
    console.warn("An unexpected error occurred while processing catalog request", err);
}, {
    // These are some options that can be overridden, they have defaults if you don't though
    bundleCacheExpiryInMilliseconds: 1000,
    assetCacheExpiryInMilliseconds: 1000,

    // these are wait times before sending requests
    // 15 seconds is high, but I've found it necessary to make sure to avoid 429s
    minProcessDelay: 15 * 1000,
    processDelay: 1000
});

robloxCatalogClient.getAsset(1272714).then(asset => {
    // We loaded an asset!
    console.log(asset);
}).catch(err => {
    // oh no
    console.error(err);
});

Thumbnails

Example

import { RobloxHttpClient, ThumbnailsClient } from "roblox";

const robloxHttpClient = new RobloxHttpClient({
    // You can put @tix-factory/http HttpClient options here
    // See: https://www.npmjs.com/package/@tix-factory/http
});

const thumbnailsClient = new ThumbnailsClient(robloxHttpClient, err => {
    console.warn("An unexpected error occurred while processing thumbnail request", err);
}, {
    // Thumbnails client specific options woooo
});

Users

Example

import { RobloxHttpClient, UsersClient } from "roblox";

const robloxHttpClient = new RobloxHttpClient({
    // You can put @tix-factory/http HttpClient options here
    // See: https://www.npmjs.com/package/@tix-factory/http
});

const usersClient = new UsersClient(robloxHttpClient, err => {
    console.warn("An unexpected error occurred while processing user request", err);
}, {
    // Users client specific options woooo
});

Groups

Example

import { RobloxHttpClient, GroupsClient } from "roblox";

const robloxHttpClient = new RobloxHttpClient({
    // You can put @tix-factory/http HttpClient options here
    // See: https://www.npmjs.com/package/@tix-factory/http
});

const groupsClient = new GroupsClient(robloxHttpClient, err => {
    console.warn("An unexpected error occurred while processing user request", err);
}, {
    // Groups client specific options woooo
});

groupsClient.getGroupById(2518656).then(group => {
    // We loaded a group!
    console.log("Group", group);
}).catch(err => {
    // oh nooooo
});