Tutuchan / battlenet

A Golang HTTP client for obtaining data from Blizzard Entertainment's Battle.net API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BattleNet

Build Status Go Report Card GoDoc

A Golang library for retrieving data from Blizzard's Battle.net API.

Versions

  • This library is currently in beta. The library is much more stable than it was in alpha. That being said, everything is still subject to change. Use at your own discretion.
  • All data returned by clients should be up-to-date, including World of Warcraft, which just had its API updated for Battle for Azeroth.

Install

$ go get github.com/munsy/battlenet

Example

package main

import (
        "flag"
        "fmt"
        "net/http"
        "time"

        "github.com/munsy/battlenet"
)

var tokenFlag = flag.String("t", "", "Battle.net API token (required).")

func main() {
        flag.Parse()

        if *tokenFlag == "" {
                fmt.Println("No token provided.")
                return
        }

        // Create settings for the client. This is not required, but
        // is necessary for non-default settings.
        settings := &battlenet.Settings{
                Client: &http.Client{Timeout: (10 * time.Second)},
                Locale: battlenet.Locale.AmericanEnglish,
                Region: battlenet.Regions.US,
        }

        // Create a new client for accessing the Battle.net Account API.
        // There are also clients for Diablo III, Starcraft II, and WoW.
        client, err := battlenet.AccountClient(settings, *tokenFlag)

        if nil != err {
                panic(err)
        }

        // Make a request. Each method corresponds to a Battle.net endpoint.
        response, err := client.BattleID()

        if nil != err {
                panic(err)
        }

        // Get the underlying data. You can also see the endpoint that was called,
        // as well as your quota usage.
        bid := response.Data

        fmt.Printf("ID: %d\n", bid.ID)
        fmt.Printf("BattleTag: %s\n", bid.BattleTag)
}

$ go build -o account.exe
$ ./account.exe -t $YOUR_API_TOKEN_HERE
ID: 12345654321
BattleTag: Munsy#78910

Additional examples for Diablo III, Starcraft II, and World of Warcraft can be found in the examples package.

Bug Reporting/Fixing

Please submit all bug reports as issues. This section will be updated in the future with a more comprehensive guide to submitting helpful bug reports and/or bug fixes.

Contributing

  • Testing is mostly what is needed right now
  • Submit contributions as pull requests

Licensing

GoBattleNet is licensed under the MIT License. See LICENSE for the full license text.

About

A Golang HTTP client for obtaining data from Blizzard Entertainment's Battle.net API.

License:MIT License


Languages

Language:Go 100.0%