Skip to content

Latest commit

Β 

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Β 

ManacubeApi

This project has no association to the official manacube developers

Github top language Github language count Repository size License Github issues Github forks Github stars

🚧 ManacubeApi πŸš€ Under construction... 🚧


About Β  | Β  Features Β  | Β  Technologies Β  | Β  Requirements Β  | Β  Starting Β  | Β  License Β  | Β  Author


🎯 About

This project is a npm wrapper to integrate with the manacube api (https://api.manacube.com/)

✨ Features

βœ”οΈ Api Client;
βœ”οΈ Typescript;\

πŸš€ Technologies

The following tools were used in this project:

βœ… Requirements

Before starting 🏁, you need to have Node installed.

🏁 Starting

# Install the project
$ npm i manacube

# import / declare client
const manacubeApi = require("manacube")
let manacubeClient = new manacubeApi.ManaCubeApi()

# Run the project
you can now use the client and the function to interact with the manacube api

Functions

Declaring Client

// Declare api instance
// Has to options baseUrl and disableSafeUUIDCheck. BaseUrl changes the default api url
// disableSafeUUIDCheck will not run any checks against any UUID imputed into the api.
let manacubeClient = new manacubeApi.ManaCubeApi();
let manacubeClient = new manacubeApi.ManaCubeApi('https://api.manacube.com/api/', true); // Disables UUID CHECKS

Reforms UUID to the correct formatting for the api or returns Invalid UUID if UUID isn't the valid minecraft format.

manacubeClient.safeUUIDCheck('f91c3347-4be2-48f2-be73-9a4323f08497'); //return f91c3347-4be2-48f2-be73-9a4323f08497
manacubeClient.safeUUIDCheck('f91c3347-4be248f2be73-9a4323f08497'); //return f91c3347-4be2-48f2-be73-9a4323f08497
manacubeClient.safeUUIDCheck('f91c33474be248f2be739a4323f08497'); //return f91c3347-4be2-48f2-be73-9a4323f08497
manacubeClient.safeUUIDCheck('f91c33474be248323f08497'); //return Invalid UUID

Get Users sva's

@param uuid MCC UUID
@param gamemode gamemode to get stats for
@returns A single users svas

manacubeClient.getUserSvas(uuid, gamemode);

Get gamemode sva's

@param gamemode Gamemode to get stats for
@returns Get all SVAs that a player owns on a specific gamemode

manacubeClient.getAllGamemodeSvas(gamemode)

Get Patrons list of patrons and patron+

@returns List of patrons uuids

manacubeClient.getAllPatrons()

Gets a list of all Patrons

@returns List of patrons uuids

manacubeClient.getPatrons()

Get a list of all patron+

@returns List of patrons uuids

manacubeClient.getPatronPlus()

Get player levels

@param uuid UUID of player to get stats for
@returns Get a single players stats
manacubeClient.getPlayerLevels(uuid)

Get Top Guilds

@param total Total amount of guilds to get
@returns Get a list of x guilds stats

manacubeClient.getTopGuilds(total)

Get players guilds

@param uuid UUID of player to get stats for
@returns Get a single players stats

manacubeClient.getPlayerGuild(uuid)

Get Users Friends List

@param uuid UUID of player to get stats for
@returns Get a single players friend list

manacubeClient.getUserFriends(uuid)

Gets Factions Placeholders

@param season Factions Season payouts to get stats for
@returns Get a list of factions season payouts

manacubeClient.getFactionsSeasonPayouts(season)

Get factions Grace Placeholders

@param placeholder placeholder
@returns placeholder

getGracePlaceholder(placeholder)

Get Players cubit balance

@param uuid UUID of player to get stats for
@returns Get a single players cubit stats

getPlayersCubitBalance(uuid)

Auctions

All three auction endpoints return an auctionPage: { lastUpdated, auctions: auctionItem[], full, finalized }.

Pages are 1-indexed (page 0 is rejected). The API declares page/totalPages/ totalAuctions but marks them writeOnly and never sends them, so there is no page count β€” follow full instead: a full page means another page may follow.

A page past the end comes back as a 200 with an empty body, which is normalised into an empty page (auctions: []). The API also returns an empty body intermittently for pages that do have data, so retry an empty page before treating it as the end of the data.

Get a page of active auctions

@param gamemode Gamemode to get auctions for
@param page Page number, starting at 1
@returns A page of currently active auctions

manacubeClient.getActiveAuctions(gamemode, page)

Get a page of recently ended auctions

@param gamemode Gamemode to get auctions for
@param page Page number, starting at 1
@returns A page of recently ended auctions

manacubeClient.getRecentlyEndedAuctions(gamemode, page)

Note this is a short rolling window of the most recently ended auctions, not an archive β€” poll it regularly if you want history.

Get a page of a player's auctions

@param uuid UUID of the player
@param gamemode Gamemode to get auctions for
@param page Page number, starting at 1
@returns A page of auctions created by that player, ordered by creation date

manacubeClient.getPlayerAuctions(uuid, gamemode, page)

Collect every page in one call

@param gamemode Gamemode to get auctions for
@param maxPages Safety stop, defaults to 50
@returns Every auction across all pages

manacubeClient.getAllActiveAuctions(gamemode, maxPages)
manacubeClient.getAllPlayerAuctions(uuid, gamemode, maxPages)

πŸ“ License

This project is under license from MIT. For more details, see the LICENSE file.

Made with ❀️ by nick22985

Β 

Back to top

Releases

Used by

Contributors

Languages