All Projects → ccbrown → poe-go

ccbrown / poe-go

Licence: MIT license
A library and guide for creating PoE applications in Go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to poe-go

Mercurytrade
An overlay application for Path of Exile(Tracking, Trading, Chat, etc)
Stars: ✭ 487 (+1639.29%)
Mutual labels:  pathofexile
Xenontrade
Path of Exile trading app for price checking and trade whisper management
Stars: ✭ 122 (+335.71%)
Mutual labels:  pathofexile
Currency Cop
👮💸 Currency Cop is the net worth calculator for Path of Exile
Stars: ✭ 207 (+639.29%)
Mutual labels:  pathofexile
Awakened Poe Trade
💲 🔨 Path of Exile trading app for price checking
Stars: ✭ 742 (+2550%)
Mutual labels:  pathofexile
Poe Sniper
A cross-platform open source Path of Exile item sniper with a user friendly interface
Stars: ✭ 81 (+189.29%)
Mutual labels:  pathofexile
Repoe
Repository of Path of Exile data for tool developers
Stars: ✭ 173 (+517.86%)
Mutual labels:  pathofexile
Sidekick
A Path of Exile helper
Stars: ✭ 377 (+1246.43%)
Mutual labels:  pathofexile
PoeSmootherModCN
中文版本PoeSmoother,带MOD特效替换功能
Stars: ✭ 18 (-35.71%)
Mutual labels:  pathofexile
Pal2
Path of Exile Addon Launcher and Manager
Stars: ✭ 115 (+310.71%)
Mutual labels:  pathofexile
Pypoe
Collection of Python Tools for Path of Exile
Stars: ✭ 203 (+625%)
Mutual labels:  pathofexile
Pta
PoE Trade Assistant
Stars: ✭ 19 (-32.14%)
Mutual labels:  pathofexile
Path Of Leveling
A tool written in Java, with an interactive UI, for Path of Exile. Plan your leveling, track your XP and navigate through the acts.
Stars: ✭ 69 (+146.43%)
Mutual labels:  pathofexile
Neversink Filter
This is a lootfilter for the game "Path of Exile". It hides low value items, uses a markup-scheme and sounds to highlight expensive gear and is based on economy data mining.
Stars: ✭ 2,164 (+7628.57%)
Mutual labels:  pathofexile
Poeskilltree
A Passive Skill Tree Planner for Path of Exile
Stars: ✭ 653 (+2232.14%)
Mutual labels:  pathofexile
Filtration
The Path of Exile loot filter editor
Stars: ✭ 245 (+775%)
Mutual labels:  pathofexile
Poe Trades Companion
Enhance your trading experience in Path of Exile. Highly customizable.
Stars: ✭ 395 (+1310.71%)
Mutual labels:  pathofexile
Poe Iteminfo
Item Info Script for Path of Exile
Stars: ✭ 167 (+496.43%)
Mutual labels:  pathofexile
poe-currency-flip-planner
This tool is an attempt at planning short-term arbitrage deals of currency in Path of Exile.
Stars: ✭ 95 (+239.29%)
Mutual labels:  pathofexile
PathOfBuildingAPI
API for Path of Building's build sharing format for builds in Path of Exile.
Stars: ✭ 25 (-10.71%)
Mutual labels:  pathofexile
Labcompass
An overlay aiming to improve the quality of life when running labyrinths in Path of Exile.
Stars: ✭ 174 (+521.43%)
Mutual labels:  pathofexile

poe-go

The goal of this library is to provide an entry-level guide to writing tools for PoE in the Go programming language.

It should be simple enough for anyone moderately computer savvy to follow and have their own stash tab indexer running in no time. 💰

Getting Started

Prerequisites

Before doing anything else, you'll need to install Go and Git. Both provide installers that you can just spam-click "next" through.

Once both Go and Git are installed, open up "Git Bash" and verify that the "go" and "git" commands are available by typing go version and git version.

Go and Git

Creating the Project

Go has relatively rigid project organization, so the project directory that we'll be working in needs to be made in your user directory's go/src directory.

Create a new project directory: mkdir -p ~/go/src/poe-indexing-101

Make it the current directory: cd ~/go/src/poe-indexing-101

Project Directory

Create a new file named main.go by copying the contents of examples/poe-indexing-101/main.go:

main.go

Finally, we'll build and run your first indexer.

Install dependencies (This will download and install this library.): go get -v .

Run main.go: go run main.go

go run

Nice! 👍

Where to Go from Here

As-is, this example isn't incredibly useful. You probably want to modify the processStash function in main.go:

func processStash(stash *api.Stash) {
	for _, item := range stash.Items {
		if item.Type == "Ancient Reliquary Key" {
			log.Printf("Ancient Reliquary Key: account = %v, league = %v, note = %v, tab = %v", stash.AccountName, item.League, item.Note, stash.Label)
		}
	}
}

You may want to filter by league, show the account's last character name, parse buyouts, play sounds, compose ready-to-whisper messages, etc.

You can refer to api/item.go and api/stash.go to see what data is available for you to use.

And if you're new to Go, you should probably read up a bit on how to write Go code.

Versioning

This library is currently unversioned. There will never be any major breaking changes to the library, but stash and item fields may occasionally change to maintain accuracy and compatibility with the PoE API.

License

This source is released under the MIT license (see the LICENSE file).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].