Giter Site home page Giter Site logo

mtgtop8's Introduction

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

mtgtop8's People

Contributors

freeall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mtgtop8's Issues

Modern Deck Information

Hi, I saw your mtgtop8 data gatherer and I was wondering if you could help me understand how it works. I want to create something similar to pull the data for all available modern decks across all time periods. I would like to use this information to plot how well various archetype's place at tournaments or in daily events. I believe the code you provided could do something similar, but I am relatively new to this language so I wasn't entirely sure how your code works. Any help would be appreciated.

Thanks!

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.