mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-06-28 09:09:24 +00:00
Add vendor (steam)
This commit is contained in:
118
vendor/github.com/Philipp15b/go-steam/tradeoffer/tradeoffer.go
generated
vendored
Normal file
118
vendor/github.com/Philipp15b/go-steam/tradeoffer/tradeoffer.go
generated
vendored
Normal file
@ -0,0 +1,118 @@
|
||||
/*
|
||||
Implements methods to interact with the official Trade Offer API.
|
||||
|
||||
See: https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService
|
||||
*/
|
||||
package tradeoffer
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/Philipp15b/go-steam/economy/inventory"
|
||||
"github.com/Philipp15b/go-steam/steamid"
|
||||
)
|
||||
|
||||
type TradeOfferState uint
|
||||
|
||||
const (
|
||||
TradeOfferState_Invalid TradeOfferState = 1 // Invalid
|
||||
TradeOfferState_Active = 2 // This trade offer has been sent, neither party has acted on it yet.
|
||||
TradeOfferState_Accepted = 3 // The trade offer was accepted by the recipient and items were exchanged.
|
||||
TradeOfferState_Countered = 4 // The recipient made a counter offer
|
||||
TradeOfferState_Expired = 5 // The trade offer was not accepted before the expiration date
|
||||
TradeOfferState_Canceled = 6 // The sender cancelled the offer
|
||||
TradeOfferState_Declined = 7 // The recipient declined the offer
|
||||
TradeOfferState_InvalidItems = 8 // Some of the items in the offer are no longer available (indicated by the missing flag in the output)
|
||||
TradeOfferState_CreatedNeedsConfirmation = 9 // The offer hasn't been sent yet and is awaiting email/mobile confirmation. The offer is only visible to the sender.
|
||||
TradeOfferState_CanceledBySecondFactor = 10 // Either party canceled the offer via email/mobile. The offer is visible to both parties, even if the sender canceled it before it was sent.
|
||||
TradeOfferState_InEscrow = 11 // The trade has been placed on hold. The items involved in the trade have all been removed from both parties' inventories and will be automatically delivered in the future.
|
||||
)
|
||||
|
||||
type TradeOfferConfirmationMethod uint
|
||||
|
||||
const (
|
||||
TradeOfferConfirmationMethod_Invalid TradeOfferConfirmationMethod = 0
|
||||
TradeOfferConfirmationMethod_Email = 1
|
||||
TradeOfferConfirmationMethod_MobileApp = 2
|
||||
)
|
||||
|
||||
type Asset struct {
|
||||
AppId uint32 `json:",string"`
|
||||
ContextId uint64 `json:",string"`
|
||||
AssetId uint64 `json:",string"`
|
||||
CurrencyId uint64 `json:",string"`
|
||||
ClassId uint64 `json:",string"`
|
||||
InstanceId uint64 `json:",string"`
|
||||
Amount uint64 `json:",string"`
|
||||
Missing bool
|
||||
}
|
||||
|
||||
type TradeOffer struct {
|
||||
TradeOfferId uint64 `json:",string"`
|
||||
TradeId uint64 `json:",string"`
|
||||
OtherAccountId uint32 `json:"accountid_other"`
|
||||
OtherSteamId steamid.SteamId `json:"-"`
|
||||
Message string `json:"message"`
|
||||
ExpirationTime uint32 `json:"expiraton_time"`
|
||||
State TradeOfferState `json:"trade_offer_state"`
|
||||
ToGive []*Asset `json:"items_to_give"`
|
||||
ToReceive []*Asset `json:"items_to_receive"`
|
||||
IsOurOffer bool `json:"is_our_offer"`
|
||||
TimeCreated uint32 `json:"time_created"`
|
||||
TimeUpdated uint32 `json:"time_updated"`
|
||||
EscrowEndDate uint32 `json:"escrow_end_date"`
|
||||
ConfirmationMethod TradeOfferConfirmationMethod `json:"confirmation_method"`
|
||||
}
|
||||
|
||||
func (t *TradeOffer) UnmarshalJSON(data []byte) error {
|
||||
type Alias TradeOffer
|
||||
aux := struct {
|
||||
*Alias
|
||||
}{
|
||||
Alias: (*Alias)(t),
|
||||
}
|
||||
if err := json.Unmarshal(data, &aux); err != nil {
|
||||
return err
|
||||
}
|
||||
if t.OtherAccountId == 0 {
|
||||
t.OtherSteamId = steamid.SteamId(0)
|
||||
return nil
|
||||
}
|
||||
t.OtherSteamId = steamid.SteamId(uint64(t.OtherAccountId) + 76561197960265728)
|
||||
return nil
|
||||
}
|
||||
|
||||
type TradeOffersResult struct {
|
||||
Sent []*TradeOffer `json:"trade_offers_sent"`
|
||||
Received []*TradeOffer `json:"trade_offers_received"`
|
||||
Descriptions []*Description
|
||||
}
|
||||
|
||||
type TradeOfferResult struct {
|
||||
Offer *TradeOffer
|
||||
Descriptions []*Description
|
||||
}
|
||||
type Description struct {
|
||||
AppId uint32 `json:"appid"`
|
||||
ClassId uint64 `json:"classid,string"`
|
||||
InstanceId uint64 `json:"instanceid,string"`
|
||||
|
||||
IconUrl string `json:"icon_url"`
|
||||
IconUrlLarge string `json:"icon_url_large"`
|
||||
|
||||
Name string
|
||||
MarketName string `json:"market_name"`
|
||||
MarketHashName string `json:"market_hash_name"`
|
||||
|
||||
// Colors in hex, for example `B2B2B2`
|
||||
NameColor string `json:"name_color"`
|
||||
BackgroundColor string `json:"background_color"`
|
||||
|
||||
Type string
|
||||
|
||||
Tradable bool `json:"tradable"`
|
||||
Commodity bool `json:"commodity"`
|
||||
MarketTradableRestriction uint32 `json:"market_tradable_restriction"`
|
||||
|
||||
Descriptions inventory.DescriptionLines `json:"descriptions"`
|
||||
Actions []*inventory.Action `json:"actions"`
|
||||
}
|
Reference in New Issue
Block a user