@leventhan/battlemetrics

    1.5.7 • Public • Published

    BattleMetrics

    Codacy Badge

    BattleMetics is an advanced rewrite of BattleMeticsAPI (Orginal author: @Curse345).
    An easy and open source NPM Package that allows you to do a variety of functions within BattleMetrics but much easier!

    Now refactored following OO principels with checkers, error handling and documented (WIP).

    TODO: Soon this repo will include all possible API requests.

    Installation

    This is a Node.js module.

    Before installing, download and install Node.js.

    const BM = require('@leventhan/battlemetrics')
    npm i @leventhan/battlemetrics
    

    Initialization

    Before you start you must generate an API Key from Battlemetrics. Then you can use it as below;

    // The options is NEEDED for the authentication!
    const options = {
        token: process.env.TOKEN || "Your_TOKEN", // after v1.4.8 don't add Bearer!
        serverID: process.env.SerVER_ID || 'Your_SERVER_ID',
        game: process.env.GAME || 'squad'
    };
    
    // Put the options in the consturctor
    const battleMetrics = new BM(options);
    
    // Example usage using .then()
    battleMetrics.getServerInfoById(battleMetrics.serverID).then(res => {
        console.log(res)
    }).catch(err => {
        console.log(err)
    });
    
    // Example usage using await (should be inside async function)
    const awaitExample = await battleMetrics.getServerInfoById(
    		battleMetrics.serverID
    	);
    console.log(awaitExample);
    /**
     * Example usages response would be:
     * {
     *   id: '10281405',
     *   name: '✪✪✪ GERMAN SQUAD #1 ✪✪✪ @GER-SQUAD.community',
     *   address: null,
     *   ip: '194.26.183.182',
     *   port: 7787,
     *   players: 99,
     *   maxPlayers: 100,
     *   rank: 19,
     *   location: [ 8.10812, 50.518749 ],
     *   status: 'online',
     *   details: {
     *       map: 'Narva_Invasion_v2',
     *       gameMode: 'Invasion',
     *       version: 'V2.11.0.25.64014',
     *       secure: 0,
     *       licensedServer: true,
     *       licenseId: '809942',
     *       numPubConn: 99,
     *       numPrivConn: 1,
     *       numOpenPrivConn: 1,
     *       modded: false,
     *       serverSteamId: '90153141169837065'
     *   },
     *   private: false,
     *   createdAt: '2021-02-19T13:52:06.986Z',
     *   updatedAt: '2021-11-15T19:48:42.026Z',
     *   portQuery: 27165,
     *   country: 'DE',
     *   queryStatus: 'valid'
     *   }
     */
    • token - Your BattleMetrics API Token
    • serverID - Your server's ID, can be found in the URL
    • game - Name of the game (ex.: squad, arma3, arma, etc...)

    Example Usage

    See test/index.js for the usage example of all existing functions.

    Current Avaible Methods

    • getServerInfoById - Get server info by server ID.
    • getGameInfo - Get game information by game name.
    • getServerInfoByNameAndGame - Get all servers info by filtering by serverName AND by game name.
    • getPlayTimeHistory - Get a player's play time history for max 90 days. Every day is one dataPoint.
    • getServerPlayerInfo - Get a player's information of specific server.
    • getPlayerInfo - Get a player's information in general.
    • getBanInfoByID - Get a ban information by ban id
    • getBans - Get all bans of your token.
    • getLeaderBoard - Get the leaderboard list between two dates.
    • getGameFeatures - Get game features by game name.
    • getGameFeatureOptionsList - Get all information for the feature per feature by feature id
    • getPlayerInfoBy - Get one player information by identifier (for example by steamID, playerName, playerID, IP, GUID, etc...)
    • getPlayersInfoBy - Get multiple players information by identifiers (for example by steamID, playerName, playerID, IP, GUID, etc...)
    • coming more soon - ...

    Install

    npm i @leventhan/battlemetrics

    DownloadsWeekly Downloads

    24

    Version

    1.5.7

    License

    ISC

    Unpacked Size

    57.7 kB

    Total Files

    5

    Last publish

    Collaborators

    • leventhan