diff options
author | Wim <wim@42.be> | 2017-06-22 01:00:27 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2017-06-22 01:00:27 +0200 |
commit | 1f914618538920db4bfec7b106ee97038b157c9b (patch) | |
tree | 6bd0ab107fe1673dbacdf9dfd10004289cd7bfab /vendor/github.com/Philipp15b/go-steam/tradeoffer/receipt.go | |
parent | 1f9874102aaca09ce5e0289beff376c307b8c57b (diff) | |
download | matterbridge-msglm-1f914618538920db4bfec7b106ee97038b157c9b.tar.gz matterbridge-msglm-1f914618538920db4bfec7b106ee97038b157c9b.tar.bz2 matterbridge-msglm-1f914618538920db4bfec7b106ee97038b157c9b.zip |
Add vendor (steam)
Diffstat (limited to 'vendor/github.com/Philipp15b/go-steam/tradeoffer/receipt.go')
-rw-r--r-- | vendor/github.com/Philipp15b/go-steam/tradeoffer/receipt.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/github.com/Philipp15b/go-steam/tradeoffer/receipt.go b/vendor/github.com/Philipp15b/go-steam/tradeoffer/receipt.go new file mode 100644 index 00000000..3f4b556d --- /dev/null +++ b/vendor/github.com/Philipp15b/go-steam/tradeoffer/receipt.go @@ -0,0 +1,35 @@ +package tradeoffer + +import ( + "encoding/json" + "fmt" + "github.com/Philipp15b/go-steam/economy/inventory" + "regexp" +) + +type TradeReceiptItem struct { + AssetId uint64 `json:"id,string"` + AppId uint32 + ContextId uint64 + Owner uint64 `json:",string"` + Pos uint32 + inventory.Description +} + +func parseTradeReceipt(data []byte) ([]*TradeReceiptItem, error) { + reg := regexp.MustCompile("oItem =\\s+(.+?});") + itemMatches := reg.FindAllSubmatch(data, -1) + if itemMatches == nil { + return nil, fmt.Errorf("items not found\n") + } + items := make([]*TradeReceiptItem, 0, len(itemMatches)) + for _, m := range itemMatches { + item := new(TradeReceiptItem) + err := json.Unmarshal(m[1], &item) + if err != nil { + return nil, err + } + items = append(items, item) + } + return items, nil +} |