mtgtop8

0.3.1 • Public • Published

mtgtop8

Fetch data from http://mtgtop8.com. Useful to gather events and deck information.

Usage

var mtg = require('mtgtop8');
 
// Get a list of events
mtg.standardEvents(1, function(err, events) {
    if (err) return console.error(err);
 
    // Get player results and decks about a specific event
    mtg.event(events[0].id, function(err, event) {
        if (err) return console.error(err);
 
        console.log(event);
    });
});

Methods

standardEvents([page,] callback)

Fetches a list of standard events. The data is taken from this page http://mtgtop8.com/format?f=ST.

Example

mtg.standardEvents(function(err, events) {
    console.log(events);
});
/*
    [
        {
            title: 'MTGO Standard Daily (#7332921)',
            id: 7956,
            stars: 1,
            bigstars: 0,
            date: Tue Aug 05 2014 00:00:00 GMT+0200 (CEST)
        },
        ...
    ]
*/

modernEvents([page,] callback)

Fetches a list of moder events. The data is taken from this page http://mtgtop8.com/format?f=MO.

Example

mtg.modernEvents(function(err, events) {
    console.log(events);
});
/*
    [
        {
            title: 'MTGO Competitive Standard Constructed League',
        id: 15369,
        stars: 1,
        bigstars: 0,
        date: 2017-04-25T22:00:00.000Z
      },
        ...
    ]
*/

eventInfo(eventId, callback)

Fetches meta information about an event. Gives less data than .event() but is faster.

Example

mtg.eventInfo(7956, function(err, event) {
    console.log(event);
});
/*
    {
        title: 'Starcitygames Open Series: Dallas',
        format: 'Standard',
        stars: 3,
        bigstars: 0,
        players: 733,
        date: Sat Aug 02 2014 00:00:00 GMT+0200 (CEST),
        decks: [
            {
                result: '1',
                title: 'Devotion to Blue',
                player: 'Collin Rountree',
                id: 245741
            },
            ...
            {
                result: '3/4', // Often a result will be like 3/4 or 5/8 if several players share ranking
                title: 'Devotion to Blue',
                player: 'Jake Peralez',
                id: 245738
            },
            ...
        ]
    }
*/

event(eventId, callback)

Fetches meta information about an event aswell as all the decks. Takes longer than .eventInfo() but gets all decks data.

Example

mtg.event(7956, function(err, event) {
    console.log(event);
});
/*
    {
        title: 'MTGO Standard Daily (#7332921)',
        format: 'Standard',
        stars: 1,
        bigstars: 0,
        players: 8,
        date: '2014-08-04T22:00:00.000Z',
        decks: [
            {
                result: '1',
                title: 'Devotion to Green',
                player: 'shokushu',
                id: 245797,
                cards: [
                    {
                        count: 9,
                        name: 'Forest'
                    },
                    {
                        count: 4,
                        name: 'Nykthos, Shrine to Nyx'
                    },
                    ...
                ],
                sideboard: [
                    {
                        count: 1,
                        name: 'Scavenging Ooze'
                    },
                    ...
                ]
            ...
        ]
    }
*/

deck(eventId, deckId, callback)

Fetches some meta information about a deck as well as the cards in it.

Example

mtg.deck(7956, 245797, function(err, deck) {
    console.log(deck);
});
/*
    {
        player: 'shokushu',
        result: '1',
        cards: [ 
            { 
                count: 9,
                name: 'Forest'
            },
            ...
        ],
        sideboard: [
            {
                count: 1,
                name: 'Scavenging Ooze'
            },
            ...
        ]
    }
*/

License

MIT

Package Sidebar

Install

npm i mtgtop8

Weekly Downloads

0

Version

0.3.1

License

MIT

Last publish

Collaborators

  • freeall