SkillAgentSearch skills...

Battlenet

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

Install / Use

/learn @munsy/Battlenet

README

BattleNet

Build Status Go Report Card GoDoc

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

Requires Go 1.12 or higher.

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.

Related Skills

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated1y ago
Forks2

Languages

Go

Security Score

75/100

Audited on Dec 8, 2024

No findings