Skip to content

nicolasiensen/xbox-live

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code Climate Build Status Dependency Status Gem Version

XboxLive

Welcome to the next most hot gem in the world! It was built on the top of XboxLeaders API and offers an interface for profile, games, achievements and friends data of the Xbox Live. Feel free to use, copy and change.

Installation

Add this line to your application's Gemfile:

gem 'xbox-live'

And then execute:

$ bundle

Or install it yourself as:

$ gem install xbox-live

Usage

Profile

XboxLive.profile("nicolasjensen")
# Returns a hash like:
{
		"Data": {
  		"Tier": "gold",
  		"IsValid": 1,
  		"IsCheater": 0,
  		"IsOnline": 1,
  		"OnlineStatus": "Online playing Netflix - Watching a Movie",
  		"XBLLaunchTeam": 0,
  		"NXELaunchTeam": 0,
  		"KinectLaunchTeam": 0,
  		"AvatarTile": "http://avatar.xboxlive.com/avatar/nicolasjensen/avatarpic-l.png",
  		"AvatarSmall": "http://avatar.xboxlive.com/avatar/nicolasjensen/avatarpic-s.png",
  		"AvatarLarge": "http://avatar.xboxlive.com/avatar/nicolasjensen/avatarpic-l.png",
  		"AvatarBody": "http://avatar.xboxlive.com/avatar/nicolasjensen/avatar-body.png",
  		"AvatarTileSSL": "https://avatar-ssl.xboxlive.com/avatar/nicolasjensen/avatarpic-l.png",
  		"AvatarSmallSSL": "https://avatar-ssl.xboxlive.com/avatar/nicolasjensen/avatarpic-s.png",
  		"AvatarLargeSSL": "https://avatar-ssl.xboxlive.com/avatar/nicolasjensen/avatarpic-l.png",
  		"AvatarBodySSL": "https://avatar-ssl.xboxlive.com/avatar/nicolasjensen/avatar-body.png",
  		"Gamertag": "nicolasjensen",
  		"GamerScore": 20631,
  		"Reputation": 20,
  		"Name": "Nicolas Iensen",
  		"Motto": "portalxbox.com.br",
  		"Location": "PORTO ALEGRE - BRASIL - RS",
  		"Bio": ""
		},
		"Stat": "ok",
		"In": 2.207,
		"Authed": "false",
		"AuthedAs": null
}

Games

XboxLive.games("nicolasjensen")
# Returns a hash like:
{
		"Data": {
  		"Gamertag": "nicolasjensen",
  		"Gamerpic": "https://avatar-ssl.xboxlive.com/avatar/nicolasjensen/avatarpic-l.png",
  		"GameCount": 82,
  		"TotalEarnedGamerScore": 20631,
  		"TotalPossibleGamerScore": 59770,
  		"TotalEarnedAchievements": 951,
  		"TotalPossibleAchievements": 2729,
  		"TotalPercentCompleted": 34,
  		"PlayedGames": [
    			{
      			"Id": 1161890200,
      			"Title": "FIFA 13",
      			"Url": "http://marketplace.xbox.com/en-US/Title/1161890200",
      			"BoxArt": "http://www.xboxleaders.com/img/boxart/1161890200-small.jpg",
      			"LargeBoxArt": "http://www.xboxleaders.com/img/boxart/1161890200-large.jpg",
      			"EarnedGamerScore": 290,
      			"PossibleGamerScore": 1000,
      			"EarnedAchievements": 15,
      			"PossibleAchievements": 48,
      			"PercentageCompleted": 31.3,
      			"LastPlayed": 1361236174
    			},
    			{
      			"Id": 1161889798,
      			"Title": "Burnout Paradise",
      			"Url": "http://marketplace.xbox.com/en-US/Title/1161889798",
      			"BoxArt": "http://www.xboxleaders.com/img/boxart/1161889798-small.jpg",
      			"LargeBoxArt": "http://www.xboxleaders.com/img/boxart/1161889798-large.jpg",
      			"EarnedGamerScore": 370,
      			"PossibleGamerScore": 1250,
      			"EarnedAchievements": 19,
      			"PossibleAchievements": 60,
      			"PercentageCompleted": 31.7,
      			"LastPlayed": 1361051710
    			},
		]
		},
		"Stat": "ok",
		"In": 3.816,
		"Authed": "false",
		"AuthedAs": null
}

Achievements

# XboxLive.achievements(gamertag, title_id)
XboxLive.achievements("nicolasjensen", "1161890128")

# Returns a hash like
{
		"Data": {
  		"Id": 1161890128,
  		"Title": "Battlefield 3",
  		"Url": "http://marketplace.xbox.com/en-US/Title/1161890128",
  		"BoxArt": "http://www.xboxleaders.com/img/boxart/1161890128-small.jpg",
  		"LargeBoxArt": "http://www.xboxleaders.com/img/boxart/1161890128-large.jpg",
  		"EarnedGamerScore": 585,
  		"PossibleGamerScore": 1480,
  		"EarnedAchievements": 24,
  		"PossibleAchievements": 58,
  		"LastPlayed": 1361051619,
  		"Achievements": [
    			{
      			"Id": 13,
      			"TileUrl": "https://live.xbox.com/tiles/tU/pe/1Tc8P2NhbC8QFQQaXFJRFjUwL2FjaC8wL2QAAAABUFBQ+nFKrg==.jpg",
      			"Title": "Scrap Metal",
      			"Description": "Destroy 6 enemy tanks before reaching the fort in Thunder Run",
      			"GamerScore": 25,
      			"IsSecret": "no",
      			"Unlocked": "yes",
      			"DateEarned": 1360780860,
      			"EarnedOffline": "no"
    			},
    			{
      			"Id": 12,
      			"TileUrl": "https://live.xbox.com/tiles/TK/H8/0Dc8P2NhbC8XFQQaXFJRFjUwL2FjaC8wL2MAAAABUFBQ-9OhVw==.jpg",
      			"Title": "You can be my wingman anytime",
      			"Description": "Complete Going Hunting in a perfect run",
      			"GamerScore": 30,
      			"IsSecret": "no",
      			"Unlocked": "yes",
      			"DateEarned": 1360776355,
      			"EarnedOffline": "no"
    			}
  		]
		},
		"Stat": "ok",
		"In": 4.658,
		"Authed": "false",
		"AuthedAs": null
}

Friends

XboxLive.friends("nicolasjensen")

# Returns a hash like:
{
		"Data": {
  		"TotalFriends": 8,
  		"TotalOnlineFriends": 0,
  		"TotalOfflineFriends": 8,
  		"Friends": [
    			{
      			"Gamertag": "cccav",
      			"AvatarSmall": "https:\/\/avatar-ssl.xboxlive.com\/avatar\/cccav\/avatarpic-s.png",
      			"AvatarLarge": "https:\/\/avatar-ssl.xboxlive.com\/avatar\/cccav\/avatarpic-l.png",
      			"GamerScore": 3520,
      			"IsOnline": false,
      			"PresenceInfo": {
        				"LastOnline": 1361044996,
        				"OnlineStatus": "Last seen 2\/16\/2013 playing LEGO\u00ae Star Wars\u00ae3 DEMO",
        				"Game": {
          "				Title": "LEGO\u00ae Star Wars\u00ae3 DEMO",
          				"Id": 1279363062,
          				"Url": "http:\/\/marketplace.xbox.com\/en-US\/Title\/1279363062"
        				}
      			}
    			},
    			{
      			"Gamertag": "Darth Randy BR",
      			"AvatarSmall": "https:\/\/avatar-ssl.xboxlive.com\/avatar\/Darth%20Randy%20BR\/avatarpic-s.png",
      			"AvatarLarge": "https:\/\/avatar-ssl.xboxlive.com\/avatar\/Darth%20Randy%20BR\/avatarpic-l.png",
      			"GamerScore": 54661,
      			"IsOnline": false,
      			"PresenceInfo": {
        				"LastOnline": 1361152914,
        				"OnlineStatus": "Last seen 2\/18\/2013 playing Xbox Dashboard",
        				"Game": {
          				"Title": "Xbox Dashboard",
          				"Id": 4294838225,
          				"Url": "http:\/\/marketplace.xbox.com\/en-US\/Title\/4294838225"
        				}
      			}
    			}
  		]
		},
		"Stat": "ok",
		"In": 4.371,
		"Authed": "false",
		"AuthedAs": null
}

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

About

Xbox Live wrapper written in Ruby that allows you to get profiles, games, achievements and friends data

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages