Code Monkey home page Code Monkey logo

warframe.js's Introduction

Warframe.js

Supported by the Warframe Community Developers ci Release Coverage Status semantic-release: angular

A JavaScript API Wrapper for Warframe's WorldState Data

Installation

To install the Browser version simply add the JS file to your HTML by using the CDN Link or add app.min.js to your project:

CDN:

<script src="https://cdn.jsdelivr.net/npm/[email protected]/app.min.js"></script>

From your Project

<script src="app.min.js"></script>

NodeJS

To install the NodeJS Version, use npm like so:

$ npm i --save warframe.js

Usage

For the NodeJS version, first require or import the module:

const Warframe = require("warframe.js")
//or
import Warframe from 'warframe.js'

After loading in the Script initialize the Warframe class, like so:

const WF = new Warframe(options);

Where options is an Object with the following structure:

options = {
    platform: 'pc'|'ps4'|'xb1'|'swi'
}

Once initalized, you can use the newly created WF Object to access the getters, here is a table of those:

Name Description Return Value
Warframe.prototype.alerts The alerts and all data associated with them Promise
Warframe.prototype.cycleCetus Current Day- or Nighttime on Cetus Promise
Warframe.prototype.cycleEarth Current Day- or Nighttime on Earth Promise
Warframe.prototype.conclaveChallenges The active Conclave Challenges Promise
Warframe.prototype.dailyDeals Darvo's "Daily Deals" Promise
Warframe.prototype.darkSectors The Dark Sectors and what Alliance/Clan has it Promise
Warframe.prototype.events TBD TBD
Warframe.prototype.fissures Current Fissure Missions Promise
Warframe.prototype.heartbeat Get a Heartbeat from the API "Success" / Error
Warframe.prototype.invasions Current Invasion Missions / Infestation Outbreaks Promise
Warframe.prototype.news News from the News Console (Updates, Prime Access, etc.) Promise
Warframe.prototype.simaris Simaris' current or last target Promise
Warframe.prototype.sorties The daily Sorties, Nodes and Conditions Promise
Warframe.prototype.syndicateMissions Current Missions of the Syndicates + Cetus Syndicates Promise
Warframe.prototype.voidTrader When and where Baro will come, and what he carries Promise

Examples

NodeJS:

const Warframe = require("warframe.js");
let options = {platform: "pc"};

const WF = new Warframe(options);

WF.alerts.then(alerts => console.log(alerts));

Browser:

let options = {platform: "pc"};

const WF = new Warframe(options);

(async function(){
    let alerts = await WF.alerts;
    console.log(alerts);
})();

To see this in action head over to tests/test.html

warframe.js's People

Contributors

lucakiebel avatar tobitenno avatar dependabot[bot] avatar

Stargazers

Alejandro Jesus del Campillo Jaime avatar Sayo / Jelly avatar João Cabral avatar  avatar  avatar  avatar Cristian Aguilar avatar Xiang Yann, Lim avatar Bertie Scott avatar  avatar

Watchers

Ornstein avatar Eleria avatar Kilian avatar  avatar  avatar  avatar

warframe.js's Issues

interested in coming over to WFCD?

we've been thinking about doing something similar to this over in WFCD for a js client, and I'd love to bring this in as the base and enhance from here

Typescript integration

Is there any plans on typescript integration? Like adding an warframe.d.ts? If not i can start working on it sometime next week.

Test page doesn't work

looks like the cdn location doesn't work anymore, and I don't know how that particular one is set up

Remap?

Looks like current voidTrader is remapped when it's requested.... i think we should either:

  • request a remap to this format on worldstate-parser
  • keep the same original data mapping as the api

current remapping:

{
  id: trader.id,
  from: new Date(trader.activation),
  until: new Date(trader.expiry),
  name: trader.character,
  relay: trader.location,
  goodies: trader.inventory,
  active: trader.active,
  fromString: `${name} arrives in ${trader.startString}`,
  untilString: `${name} leaves in ${trader.endString}`,
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.