JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q23609F
  • License ISC

A NodeJS package to interact with the Hypixel API

Package Exports

    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 (hywrapper) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    version downloads style

    hywrapper

    A NodeJS wrapper for Hypixel's API

    Table of Contents

    Installation

    To install the library, run:

    $ npm install hywrapper

    or with JSDelivr:

    <script src="https://cdn.jsdelivr.net/npm/hywrapper@latest/file"></script>

    Importing

    With require:

    const API = require("hywrapper");

    With import:

    import API from "hywrapper";

    Usage

    Initiating the Wrapper

    import API from "hywrapper";
    
    const api = new API(key, { // Your Hypixel API key; visit developer.hypixel.net to get one if you don't have one already
      cache: true, // Whether or not to cache fetched data
      error: true // Whether or not to throw an error if an API response is unsuccessful
    }) 

    Using the API

    Many of the wrapper's functions are very similar to how they are organized in the Hypixel API docs, but are organized in categories like skyblock, players, guilds, and static. A few examples are below.

    import API from "hywrapper";
    const api = new API(key)
    
    // .players - Information about players on Hypixel //
    await api.players.status(uuid) // Gets a user's current online status on Hypixel by UUID
    await api.players.punishments() // Gets punishment statistics for Hypixel staff and watchdog
    
    // .guilds - Information about guilds on Hypixel //
    await api.guilds.fetch('player'|'id'|'name', data) // Gets a guild from a player, id, or name
    await api.guilds.achievements() //Gets a list of guild achievements
    
    // .static - Information about Hypixel itself that rarely changes //
    await api.static.quests() // Gets a list of Hypixel quests
    await api.static.pets() // Gets Hypixel pet information
    
    // .skyblock - All of Hypixel's SkyBlock API //
    await api.skyblock.static.items() // Gets information regarding items in SkyBlock
    await api.skyblock.auctions.fetch('auction'|'player'|'profile', data) // Gets an auction from its id, a player, or a profile
    await api.skyblock.mayor() // Gets SkyBlock mayor and election data

    Note that some API endpoints do not require an API key, as noted in the Hypixel API Policy.

    Other API Functions

    Mojang API "miniwrapper" functions

    await api.mojang.username(uuid) // Fetches a player's username from their UUID
    await api.mojang.uuid(username|...usernames) // Fetches UUIDs from usernames - supports multiple usernames
    await api.mojang.skin(uuid) // Fetches a player's skin from their UUID
    await api.mojang.profile(uuid) // Fetches a player's profile from their UUID
    await api.mojang.blocked() // Fetches a list of Mojang's blocked IPs and domains

    Make an unaltered API request

    await api.request('/skyblock/auctions', { page: 10 })

    Get cached data

    api.cache.static.games // Synchronous equivalent to await api.static.games() when it was run

    Contributing

    If you want to contribute