Last active
September 27, 2015 07:57
-
-
Save amscotti/1236553 to your computer and use it in GitHub Desktop.
Code to use battle.net's RESTful API for pulling World of Warcraft guild rosters - http://www.128bitstudios.com/2011/09/22/updated-world-of-warcraft-armory-code/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
http = require 'http' | |
rest = require 'restler' | |
realm = escape "Staghelm" | |
guild = escape "Controlled Chaos" | |
type = { | |
1: "Warrior", 2: "Paladin", 3: "Hunter", | |
4: "Rogue", 5: "Priest", 6: "Death Knight", | |
7: "Shaman", 8: "Mage", 9: "Warlock", | |
10: "Monk", 11: "Druid" | |
} | |
rest.get("http://us.battle.net/api/wow/guild/#{realm}/#{guild}?fields=members").on('complete', (data) -> | |
data.members.sort( (a,b) -> | |
if a.character.name > b.character.name | |
return 1 | |
if a.character.name < b.character.name | |
return -1 | |
return 0 | |
) | |
console.log "#{data.members.length} Characters Found!" | |
console.log "--------" | |
for char in data.members | |
console.log "#{char.character.name} #{char.character.level} #{type[char.character.class]}" | |
console.log "--------" | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:json' as JSON; | |
import 'package:http/http.dart' as http; | |
import 'dart:uri'; | |
final Map type = { | |
"1": "Warrior", "2": "Paladin", "3": "Hunter", | |
"4": "Rogue", "5": "Priest", "6": "Death Knight", | |
"7": "Shaman", "8": "Mage", "9": "Warlock", | |
"10": "Monk", "11": "Druid" | |
}; | |
void main() { | |
String realm = encodeUri("Lothar"); | |
String guild_name = encodeUri("Controlled Chaos").replaceAll("+", "%20"); | |
String url = "http://us.battle.net/api/wow/guild/${realm}/${guild_name}?fields=members"; | |
http.read(url).then(JSON.parse).then((data){ | |
data["members"].sort((a,b) => Comparable.compare(a["character"]["name"], b["character"]["name"])); | |
print("${data["members"].length} Characters Found!"); | |
print("--------"); | |
for(var char in data["members"]){ | |
print("${char["character"]["name"]} ${char["character"]["level"]} ${type[char["character"]["class"].toString()]}"); | |
} | |
print("--------"); | |
}); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import groovy.json.* | |
def realm = URLEncoder.encode("Staghelm") | |
def guild = URLEncoder.encode("Controlled Chaos").replace("+", "%20") | |
def url = "http://us.battle.net/api/wow/guild/${realm}/${guild}?fields=members".toURL() | |
def type = [ | |
1: "Warrior", 2: "Paladin", 3: "Hunter", | |
4: "Rogue", 5: "Priest", 6: "Death Knight", | |
7: "Shaman", 8: "Mage", 9: "Warlock", | |
10: "Monk", 11: "Druid"].withDefault { key -> "unknown" } | |
url.openConnection().with { | |
inputStream.withReader { reader -> | |
def characters = new JsonSlurper().parse(reader) | |
println "${characters.members.size} Characters Found!" | |
println "-" * 50 | |
characters.members.character.sort{ it.name }.each { t -> | |
printf "%-20s%-10s%s\n", t.name, t.level, type[t.class] | |
} | |
println "-" * 50 | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rubygems' | |
require 'httparty' | |
type = { | |
1 => "Warrior", 2 => "Paladin", 3 => "Hunter", | |
4 => "Rogue", 5 => "Priest", 6 => "Death Knight", | |
7 => "Shaman", 8 => "Mage", 9 => "Warlock", | |
10 => "Monk", 11 => "Druid" | |
} | |
type.default = "unknown" | |
strRealm = "Staghelm" | |
strGuildName = "Controlled Chaos" | |
data = HTTParty.get("http://us.battle.net/api/wow/guild/#{URI.escape(strRealm)}/#{URI.escape(strGuildName)}?fields=members").parsed_response | |
puts "#{data["members"].count} Characters Found!" | |
puts "-" * 50 | |
data["members"].sort{|a,b| a["character"]['name'] <=> b["character"]['name']}.each do |member| | |
c = member["character"] | |
puts "%-20s%-10s%s" %[c['name'],c['level'],type[c['class']]] | |
end | |
puts "-" * 50 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment