eveapi is a library that provides access to the EVE Online XML API.
This needs more work, ALPHA STATUS. Barely anything is done, API subject to change.
- Caching
- Everything else
- More things
Below is an example which shows some of the calls available currently.
package main import ( "fmt" "log" "github.com/flexd/eveapi" ) func main() { key := eveapi.Key{"somekey", "somevcode"} charID := "93014296" voidCharID := "93947594" //api := &eveapi.API{ //Server: eveapi.Tranquility, //APIKey: key, //UserAgent: "Hello", //Debug: false, //} api := eveapi.Simple(key) serverStatus, err := api.ServerStatus() if err != nil { log.Fatalln(err) return } fmt.Println("Online:", serverStatus.Open, "Players:", serverStatus.OnlinePlayers) characters, err := api.Names2ID("Void Thought,Loryanna,Cypherous,ThisGuyDoesnOtexist") if err != nil { log.Fatalln(err) return } fmt.Println("Characters:", characters) fmt.Println("First char:", characters[0]) accounts, err := api.CharAccountBalances(charID) if err != nil { log.Fatalln(err) return } fmt.Println("Current time:", accounts.CurrentTime, "Cached until:", accounts.CachedUntil) for _, c := range accounts.Accounts { fmt.Println("AccountID:", c.ID, "Key:", c.Key, "Balance:", c.Balance, "ISK") } skillqueue, err := api.SkillQueue(voidCharID) if err != nil { log.Fatalln(err) return } fmt.Println(skillqueue.SkillQueue[0]) }