Documentation ¶
Index ¶
- Constants
- Variables
- func IsProductCC(i string) bool
- type APIInterface
- type APIInterfaces
- type Alias
- type AppDetails
- type AppDetailsCategory
- type AppDetailsGenre
- type AppList
- type AppListResponse
- type BadgeResponse
- type BadgesInfo
- type BadgesResponse
- type Client
- func (c Client) GetAliases(playerID int64) (resp []Alias, b []byte, err error)
- func (c Client) GetAppDetails(id uint, cc ProductCC, language LanguageCode, filters []string) (app AppDetails, err error)
- func (c Client) GetAppDetailsMulti(ids []uint, cc ProductCC, language LanguageCode, filters []string) (resp map[string]AppDetails, err error)
- func (c Client) GetAppList(limit int, offset int, afterDate int64, language LanguageCode) (apps AppList, err error)
- func (c Client) GetBadges(playerID int64) (badges BadgesInfo, err error)
- func (c Client) GetComments(playerID int64, limit int, offset int) (resp Comments, b []byte, err error)
- func (c Client) GetFriendList(playerID int64) (friends []Friend, err error)
- func (c Client) GetGlobalAchievementPercentagesForApp(appID int) (percentages GlobalAchievementPercentages, err error)
- func (c Client) GetGroup(id string, vanityURL string, page int) (resp GroupInfo, b []byte, err error)
- func (c Client) GetInventory(playerID int64, appID int) (resp CommunityInventory, b []byte, err error)
- func (c Client) GetItemDefArchive(appID int, digest string) (archives []ItemDefArchive, err error)
- func (c Client) GetItemDefMeta(appID int) (meta ItemDefMeta, err error)
- func (c Client) GetMarketSearch(payload MarketSearchPayload) (resp MarketSearch, b []byte, err error)
- func (c Client) GetNews(appID int, limit int) (articles News, err error)
- func (c Client) GetNumberOfCurrentPlayers(appID int) (players int, err error)
- func (c Client) GetOwnedGames(playerID int64) (games OwnedGames, err error)
- func (c Client) GetPackageDetails(id uint, code ProductCC, language LanguageCode) (pack PackageDetailsBody, err error)
- func (c Client) GetPlayer(playerID int64) (player PlayerSummary, err error)
- func (c Client) GetPlayerAchievements(playerID uint64, appID uint32) (schema PlayerAchievementsResponse, err error)
- func (c Client) GetPlayerBans(playerID int64) (bans GetPlayerBanResponse, err error)
- func (c Client) GetRecentlyPlayedGames(playerID int64) (games []RecentlyPlayedGame, err error)
- func (c Client) GetReviews(appID int, language LanguageCode) (reviews ReviewsResponse, err error)
- func (c Client) GetSchemaForGame(appID int) (schema SchemaForGame, err error)
- func (c Client) GetSteamLevel(playerID int64) (level int, err error)
- func (c Client) GetSupportedAPIList() (percentages APIInterfaces, err error)
- func (c Client) GetTags() (tags Tags, err error)
- func (c Client) GetUserGroupList(playerID int64) (groups UserGroupList, err error)
- func (c Client) GetWishlist(playerID int64) (wishlist Wishlist, err error)
- func (c Client) ResolveVanityURL(vanityURL string, urlType int) (info VanityURL, err error)
- func (c *Client) SetAPIRateLimit(duration time.Duration, burst int64)
- func (c *Client) SetCommunityRateLimit(duration time.Duration, burst int64)
- func (c *Client) SetKey(key string)
- func (c *Client) SetLogger(logger logger)
- func (c *Client) SetStoreRateLimit(duration time.Duration, burst int64)
- func (c *Client) SetTimeout(timeout time.Duration)
- func (c *Client) SetUserAgent(userAgent string)
- type Comments
- type CommunityInventory
- type Currency
- type CurrencyCode
- type DefaultLogger
- type Error
- type Friend
- type FriendListResponse
- type FriendsList
- type GetPlayerBanResponse
- type GetPlayerBansResponse
- type GlobalAchievementAchievement
- type GlobalAchievementPercentages
- type GlobalAchievementPercentagesResponse
- type GroupInfo
- type ItemDefArchive
- type ItemDefMeta
- type Language
- type LanguageCode
- type LanguageCodeWeb
- type LevelResponse
- type MarketSearch
- type MarketSearchPayload
- type News
- type NewsResponse
- type NumberOfCurrentPlayersResponse
- type OwnedGames
- type OwnedGamesResponse
- type PackageDetailsBody
- type PlayerAchievementsOuterResponse
- type PlayerAchievementsResponse
- type PlayerResponse
- type PlayerSummary
- type PriceOverview
- type ProductCC
- type RecentlyPlayedGame
- type RecentlyPlayedGames
- type RecentlyPlayedGamesResponse
- type ReviewsResponse
- type SchemaForGame
- type SchemaForGameAchievement
- type SchemaForGameResponse
- type SchemaForGameStat
- type SupportedAPIListResponse
- type Tag
- type Tags
- type UserGroupList
- type UserGroupListResponse
- type VanityURL
- type VanityURLRepsonse
- type Wishlist
- type WishlistFail
- type WishlistItem
Constants ¶
const ( VanityURLProfile = 1 VanityURLGroup = 2 VanityURLGameGroup = 3 )
noinspection GoUnusedConst
Variables ¶
var ( ErrAppNotFound = errors.New("steam: store: app not found") ErrPackageNotFound = errors.New("steam: store: package not found") ErrWishlistNotFound = errors.New("steam: store: wishlist not found") ErrNullResponse = errors.New("steam: store: null response") // Probably being rate limited ErrHTMLResponse = errors.New("steam: store: html response") // Probably down )
var Currencies = []Currency{ {CurrencyCode: CurrencyARS, Description: "Argentine Peso"}, {CurrencyCode: CurrencyAUD, Description: "Australian Dollars"}, {CurrencyCode: CurrencyBRL, Description: "Brazilian Reals"}, {CurrencyCode: CurrencyCAD, Description: "Canadian Dollars"}, {CurrencyCode: CurrencyCLP, Description: "Chilean Peso"}, {CurrencyCode: CurrencyCNY, Description: "Chinese Renminbi (yuan)"}, {CurrencyCode: CurrencyCOP, Description: "Colombian Peso"}, {CurrencyCode: CurrencyCRC, Description: "Costa Rican Colón"}, {CurrencyCode: CurrencyEUR, Description: "European Union Euro"}, {CurrencyCode: CurrencyHKD, Description: "Hong Kong Dollar"}, {CurrencyCode: CurrencyINR, Description: "Indian Rupee"}, {CurrencyCode: CurrencyIDR, Description: "Indonesian Rupiah"}, {CurrencyCode: CurrencyILS, Description: "Israeli New Shekel"}, {CurrencyCode: CurrencyJPY, Description: "Japanese Yen"}, {CurrencyCode: CurrencyKZT, Description: "Kazakhstani Tenge"}, {CurrencyCode: CurrencyKWD, Description: "Kuwaiti Dinar"}, {CurrencyCode: CurrencyMYR, Description: "Malaysian Ringgit"}, {CurrencyCode: CurrencyMXN, Description: "Mexican Peso"}, {CurrencyCode: CurrencyTWD, Description: "New Taiwan Dollar"}, {CurrencyCode: CurrencyNZD, Description: "New Zealand Dollar"}, {CurrencyCode: CurrencyNOK, Description: "Norwegian Krone"}, {CurrencyCode: CurrencyPEN, Description: "Peruvian Nuevo Sol"}, {CurrencyCode: CurrencyPHP, Description: "Philippine Peso"}, {CurrencyCode: CurrencyPLN, Description: "Polish Złoty"}, {CurrencyCode: CurrencyQAR, Description: "Qatari Riyal"}, {CurrencyCode: CurrencyRUB, Description: "Russian Rouble"}, {CurrencyCode: CurrencySAR, Description: "Saudi Riyal"}, {CurrencyCode: CurrencySGD, Description: "Singapore Dollar"}, {CurrencyCode: CurrencyZAR, Description: "South African Rand"}, {CurrencyCode: CurrencyKRW, Description: "South Korean Won"}, {CurrencyCode: CurrencyCHF, Description: "Swiss Francs"}, {CurrencyCode: CurrencyTHB, Description: "Thai Baht"}, {CurrencyCode: CurrencyTRY, Description: "Turkish Lira"}, {CurrencyCode: CurrencyUAH, Description: "Ukrainian Hryvnia"}, {CurrencyCode: CurrencyAED, Description: "United Arab Emirates Dirham"}, {CurrencyCode: CurrencyGBP, Description: "United Kingdom Pound"}, {CurrencyCode: CurrencyUSD, Description: "United States Dollar"}, {CurrencyCode: CurrencyUYU, Description: "Uruguayan Peso"}, {CurrencyCode: CurrencyVND, Description: "Vietnamese Dong"}, }
var ErrInvalidDigest = errors.New("invalid digest")
var (
ErrMissingKey = errors.New("missing api key")
)
var ErrProfileMissing = errors.New("profile missing")
var ErrProfilePrivate = errors.New("private profile")
var ErrRateLimited = errors.New("rate limited")
var LanguageCodes = []LanguageCode{LanguageArabic, LanguageBulgarian, LanguageChineseSimplified, LanguageChineseTraditional, LanguageCzech, LanguageDanish, LanguageDutch, LanguageEnglish, LanguageFinnish, LanguageFrench, LanguageGerman, LanguageGreek, LanguageHungarian, LanguageItalian, LanguageJapanese, LanguageKorean, LanguageNorwegian, LanguagePolish, LanguagePortuguese, LanguagePortugueseBrazil, LanguageRomanian, LanguageRussian, LanguageSpanishSpain, LanguageSpanishLatinAmerica, LanguageSwedish, LanguageThai, LanguageTurkish, LanguageUkrainian, LanguageVietnamese}
var Languages = []Language{ { EnglishName: "Arabic", NativeName: "العربية", LanguageCode: LanguageArabic, WebAPILanguageCode: LanguageWebAR, }, { EnglishName: "Bulgarian", NativeName: "български език", LanguageCode: LanguageBulgarian, WebAPILanguageCode: LanguageWebBG, }, { EnglishName: "Chinese (Simplified)", NativeName: "简体中文", LanguageCode: LanguageChineseSimplified, WebAPILanguageCode: LanguageWebZHCN, }, { EnglishName: "Chinese (Traditional)", NativeName: "繁體中文", LanguageCode: LanguageChineseTraditional, WebAPILanguageCode: LanguageWebZHTW, }, { EnglishName: "Czech", NativeName: "čeština", LanguageCode: LanguageCzech, WebAPILanguageCode: LanguageWebCS, }, { EnglishName: "Danish", NativeName: "Dansk", LanguageCode: LanguageDanish, WebAPILanguageCode: LanguageWebDA, }, { EnglishName: "Dutch", NativeName: "Nederlands", LanguageCode: LanguageDutch, WebAPILanguageCode: LanguageWebNL, }, { EnglishName: "English", NativeName: "English", LanguageCode: LanguageEnglish, WebAPILanguageCode: LanguageWebEN, }, { EnglishName: "Finnish", NativeName: "Suomi", LanguageCode: LanguageFinnish, WebAPILanguageCode: LanguageWebFI, }, { EnglishName: "French", NativeName: "Français", LanguageCode: LanguageFrench, WebAPILanguageCode: LanguageWebFR, }, { EnglishName: "German", NativeName: "Deutsch", LanguageCode: LanguageGerman, WebAPILanguageCode: LanguageWebDE, }, { EnglishName: "Greek", NativeName: "Ελληνικά", LanguageCode: LanguageGreek, WebAPILanguageCode: LanguageWebEL, }, { EnglishName: "Hungarian", NativeName: "Magyar", LanguageCode: LanguageHungarian, WebAPILanguageCode: LanguageWebHU, }, { EnglishName: "Italian", NativeName: "Italiano", LanguageCode: LanguageItalian, WebAPILanguageCode: LanguageWebIT, }, { EnglishName: "Japanese", NativeName: "日本語", LanguageCode: LanguageJapanese, WebAPILanguageCode: LanguageWebJA, }, { EnglishName: "Korean", NativeName: "한국어", LanguageCode: LanguageKorean, WebAPILanguageCode: LanguageWebKO, }, { EnglishName: "Norwegian", NativeName: "Norsk", LanguageCode: LanguageNorwegian, WebAPILanguageCode: LanguageWebNO, }, { EnglishName: "Polish", NativeName: "Polski", LanguageCode: LanguagePolish, WebAPILanguageCode: LanguageWebPL, }, { EnglishName: "Portuguese", NativeName: "Português", LanguageCode: LanguagePortuguese, WebAPILanguageCode: LanguageWebPT, }, { EnglishName: "Portuguese-Brazil", NativeName: "Português-Brasil", LanguageCode: LanguagePortugueseBrazil, WebAPILanguageCode: LanguageWebPTBR, }, { EnglishName: "Romanian", NativeName: "Română", LanguageCode: LanguageRomanian, WebAPILanguageCode: LanguageWebRO, }, { EnglishName: "Russian", NativeName: "Русский", LanguageCode: LanguageRussian, WebAPILanguageCode: LanguageWebRU, }, { EnglishName: "Spanish-Spain", NativeName: "Español-España", LanguageCode: LanguageSpanishSpain, WebAPILanguageCode: LanguageWebES, }, { EnglishName: "Spanish-Latin America", NativeName: "Español-Latinoamérica", LanguageCode: LanguageSpanishLatinAmerica, WebAPILanguageCode: LanguageWebES419, }, { EnglishName: "Swedish", NativeName: "Svenska", LanguageCode: LanguageSwedish, WebAPILanguageCode: LanguageWebSV, }, { EnglishName: "Thai", NativeName: "ไทย", LanguageCode: LanguageThai, WebAPILanguageCode: LanguageWebTH, }, { EnglishName: "Turkish", NativeName: "Türkçe", LanguageCode: LanguageTurkish, WebAPILanguageCode: LanguageWebTR, }, { EnglishName: "Ukrainian", NativeName: "Українська", LanguageCode: LanguageUkrainian, WebAPILanguageCode: LanguageWebUK, }, { EnglishName: "Vietnamese", NativeName: "Tiếng Việt", LanguageCode: LanguageVietnamese, WebAPILanguageCode: LanguageWebVN, }, }
var ProductCCs = []ProductCC{ProductCCAE, ProductCCAR, ProductCCAU, ProductCCAZ, ProductCCBR, ProductCCCA, ProductCCCH, ProductCCCL, ProductCCCN, ProductCCCO, ProductCCCR, ProductCCEU, ProductCCHK, ProductCCID, ProductCCIL, ProductCCIN, ProductCCJP, ProductCCKR, ProductCCKW, ProductCCKZ, ProductCCMX, ProductCCMY, ProductCCNO, ProductCCNZ, ProductCCPE, ProductCCPH, ProductCCPK, ProductCCPL, ProductCCQA, ProductCCRU, ProductCCSA, ProductCCSG, ProductCCTH, ProductCCTR, ProductCCTW, ProductCCUA, ProductCCUK, ProductCCUS, ProductCCUY, ProductCCVN, ProductCCZA}
Functions ¶
func IsProductCC ¶
Types ¶
type APIInterface ¶
type APIInterface struct { Name string `json:"name"` Methods []struct { Name string `json:"name"` Version int `json:"version"` HTTPmethod string `json:"httpmethod"` Parameters []struct { Name string `json:"name"` Type string `json:"type"` Optional bool `json:"optional"` Description string `json:"description"` } `json:"parameters"` } `json:"methods"` }
type APIInterfaces ¶
type APIInterfaces struct {
Interfaces []APIInterface `json:"interfaces"`
}
type AppDetails ¶
type AppDetails struct { Success bool `json:"success"` Data *struct { Type string `json:"type"` Name string `json:"name"` AppID int `json:"steam_appid"` RequiredAge unmarshal.Int `json:"required_age"` IsFree bool `json:"is_free"` DLC []int `json:"dlc"` ControllerSupport string `json:"controller_support"` DetailedDescription string `json:"detailed_description"` AboutTheGame string `json:"about_the_game"` ShortDescription string `json:"short_description"` Fullgame struct { AppID unmarshal.Int `json:"appid"` Name string `json:"name"` } `json:"fullgame"` SupportedLanguages string `json:"supported_languages"` Reviews string `json:"reviews"` HeaderImage string `json:"header_image"` Website string `json:"website"` PcRequirements struct { Minimum string `json:"minimum"` Recommended string `json:"recommended"` } `json:"pc_requirements"` MacRequirements struct { Minimum string `json:"minimum"` Recommended string `json:"recommended"` } `json:"mac_requirements"` LinuxRequirements struct { Minimum string `json:"minimum"` Recommended string `json:"recommended"` } `json:"linux_requirements"` LegalNotice string `json:"legal_notice"` ExtUserAccountNotice string `json:"ext_user_account_notice"` DRMNotice string `json:"drm_notice"` Developers []string `json:"developers"` Publishers []string `json:"publishers"` Demos []struct { AppID unmarshal.Int `json:"appid"` Description string `json:"description"` } `json:"demos"` PriceOverview *struct { Currency CurrencyCode `json:"currency"` Initial int `json:"initial"` Final int `json:"final"` DiscountPercent int `json:"discount_percent"` InitialFormatted string `json:"initial_formatted"` FinalFormatted string `json:"final_formatted"` RecurringSub interface{} `json:"recurring_sub"` // Either "false" or a sub id int RecurringSubDesc string `json:"recurring_sub_desc"` } `json:"price_overview"` Packages []int `json:"packages"` PackageGroups []struct { Name string `json:"name"` Title string `json:"title"` Description string `json:"description"` SelectionText string `json:"selection_text"` SaveText string `json:"save_text"` DisplayType unmarshal.String `json:"display_type"` IsRecurringSubscription unmarshal.Bool `json:"is_recurring_subscription"` Subs []struct { PackageID int `json:"packageid"` PercentSavingsText string `json:"percent_savings_text"` PercentSavings int `json:"percent_savings"` OptionText string `json:"option_text"` OptionDescription string `json:"option_description"` CanGetFreeLicense unmarshal.Bool `json:"can_get_free_license"` IsFreeLicense bool `json:"is_free_license"` PriceInCentsWithDiscount int `json:"price_in_cents_with_discount"` } `json:"subs"` } `json:"package_groups"` Platforms struct { Windows bool `json:"windows"` Mac bool `json:"mac"` Linux bool `json:"linux"` } `json:"platforms"` Metacritic struct { Score int8 `json:"score"` URL string `json:"url"` } `json:"metacritic"` Categories AppDetailsCategory `json:"categories"` Genres AppDetailsGenre `json:"genres"` Screenshots []struct { ID int `json:"id"` PathThumbnail string `json:"path_thumbnail"` PathFull string `json:"path_full"` } `json:"screenshots"` Movies []struct { ID int `json:"id"` Name string `json:"name"` Thumbnail string `json:"thumbnail"` Webm struct { Num480 string `json:"480"` Max string `json:"max"` } `json:"webm"` Highlight bool `json:"highlight"` } `json:"movies"` Recommendations struct { Total int `json:"total"` } `json:"recommendations"` Achievements struct { Total int `json:"total"` Highlighted []struct { Name string `json:"name"` Path string `json:"path"` } `json:"highlighted"` } `json:"achievements"` ReleaseDate struct { ComingSoon bool `json:"coming_soon"` Date string `json:"date"` } `json:"release_date"` SupportInfo struct { URL string `json:"url"` Email string `json:"email"` } `json:"support_info"` Background string `json:"background"` ContentDescriptors struct { IDs interface{} Notes interface{} } `json:"content_descriptors"` } `json:"data"` }
type AppDetailsCategory ¶
func (AppDetailsCategory) IDs ¶
func (c AppDetailsCategory) IDs() (IDs []int)
func (AppDetailsCategory) Names ¶
func (c AppDetailsCategory) Names() (names []string)
type AppDetailsGenre ¶
type AppDetailsGenre []struct { ID unmarshal.Int `json:"id"` Description string `json:"description"` }
func (AppDetailsGenre) IDs ¶
func (g AppDetailsGenre) IDs() (IDs []int)
func (AppDetailsGenre) Names ¶
func (g AppDetailsGenre) Names() (names []string)
type AppListResponse ¶
type AppListResponse struct {
AppListResponseInner AppList `json:"response"`
}
type BadgeResponse ¶
type BadgeResponse struct { AppID int `json:"appid"` BadgeID int `json:"badgeid"` BorderColor unmarshal.Bool `json:"border_color"` CommunityItemID unmarshal.Int64 `json:"communityitemid"` CompletionTime int64 `json:"completion_time"` Level int `json:"level"` Scarcity int `json:"scarcity"` XP int `json:"xp"` }
type BadgesInfo ¶
type BadgesInfo struct { Badges []BadgeResponse `json:"badges"` PlayerXP int `json:"player_xp"` PlayerLevel int `json:"player_level"` PlayerXPNeededToLevelUp int `json:"player_xp_needed_to_level_up"` PlayerXPNeededCurrentLevel int `json:"player_xp_needed_current_level"` }
func (BadgesInfo) GetPercentOfLevel ¶
func (b BadgesInfo) GetPercentOfLevel() int
type BadgesResponse ¶
type BadgesResponse struct {
Response BadgesInfo `json:"response"`
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (Client) GetAliases ¶
func (Client) GetAppDetails ¶
func (c Client) GetAppDetails(id uint, cc ProductCC, language LanguageCode, filters []string) (app AppDetails, err error)
func (Client) GetAppDetailsMulti ¶
func (c Client) GetAppDetailsMulti(ids []uint, cc ProductCC, language LanguageCode, filters []string) (resp map[string]AppDetails, err error)
func (Client) GetAppList ¶
func (Client) GetBadges ¶
func (c Client) GetBadges(playerID int64) (badges BadgesInfo, err error)
Gets badges that are owned by a specific user
func (Client) GetComments ¶
func (Client) GetFriendList ¶
func (Client) GetGlobalAchievementPercentagesForApp ¶
func (c Client) GetGlobalAchievementPercentagesForApp(appID int) (percentages GlobalAchievementPercentages, err error)
Retrieves the global achievement percentages for the specified app.
func (Client) GetGroup ¶
func (c Client) GetGroup(id string, vanityURL string, page int) (resp GroupInfo, b []byte, err error)
Rate limited to once per minute
func (Client) GetInventory ¶
func (Client) GetItemDefArchive ¶
func (c Client) GetItemDefArchive(appID int, digest string) (archives []ItemDefArchive, err error)
func (Client) GetItemDefMeta ¶
func (c Client) GetItemDefMeta(appID int) (meta ItemDefMeta, err error)
func (Client) GetMarketSearch ¶
func (c Client) GetMarketSearch(payload MarketSearchPayload) (resp MarketSearch, b []byte, err error)
func (Client) GetNumberOfCurrentPlayers ¶
Gets the total number of players currently active in the specified app on Steam.
func (Client) GetOwnedGames ¶
func (c Client) GetOwnedGames(playerID int64) (games OwnedGames, err error)
Return a list of games owned by the player
func (Client) GetPackageDetails ¶
func (c Client) GetPackageDetails(id uint, code ProductCC, language LanguageCode) (pack PackageDetailsBody, err error)
func (Client) GetPlayer ¶
func (c Client) GetPlayer(playerID int64) (player PlayerSummary, err error)
func (Client) GetPlayerAchievements ¶
func (c Client) GetPlayerAchievements(playerID uint64, appID uint32) (schema PlayerAchievementsResponse, err error)
func (Client) GetPlayerBans ¶
func (c Client) GetPlayerBans(playerID int64) (bans GetPlayerBanResponse, err error)
func (Client) GetRecentlyPlayedGames ¶
func (c Client) GetRecentlyPlayedGames(playerID int64) (games []RecentlyPlayedGame, err error)
Gets information about a player's recently played games
func (Client) GetReviews ¶
func (c Client) GetReviews(appID int, language LanguageCode) (reviews ReviewsResponse, err error)
func (Client) GetSchemaForGame ¶
func (c Client) GetSchemaForGame(appID int) (schema SchemaForGame, err error)
Gets the complete list of stats and achievements for the specified game.
func (Client) GetSteamLevel ¶
Returns the Steam Level of a user
func (Client) GetSupportedAPIList ¶
func (c Client) GetSupportedAPIList() (percentages APIInterfaces, err error)
Gets the list of supported API calls. This is used to build this documentation.
func (Client) GetUserGroupList ¶
func (c Client) GetUserGroupList(playerID int64) (groups UserGroupList, err error)
func (Client) GetWishlist ¶
func (Client) ResolveVanityURL ¶
func (*Client) SetAPIRateLimit ¶
func (*Client) SetCommunityRateLimit ¶
func (*Client) SetStoreRateLimit ¶
func (*Client) SetTimeout ¶
func (*Client) SetUserAgent ¶
type Comments ¶
type Comments struct { Success bool `json:"success"` Name string `json:"name"` Start int `json:"start"` PageSize unmarshal.Int `json:"pagesize"` TotalCount int `json:"total_count"` Upvotes int `json:"upvotes"` HasUpvoted int `json:"has_upvoted"` CommentsHTML string `json:"comments_html"` TimeLastPost int64 `json:"timelastpost"` }
type CommunityInventory ¶
type CommunityInventory struct { Success bool `json:"success"` RgInventory map[string]struct { ID string `json:"id"` Classid string `json:"classid"` Instanceid string `json:"instanceid"` Amount string `json:"amount"` Pos int `json:"pos"` } `json:"rgInventory"` RgCurrency []interface{} `json:"rgCurrency"` RgDescriptions map[string]struct { Appid string `json:"appid"` Classid string `json:"classid"` Instanceid string `json:"instanceid"` IconURL string `json:"icon_url"` IconURLLarge string `json:"icon_url_large"` IconDragURL string `json:"icon_drag_url"` Name string `json:"name"` MarketHashName string `json:"market_hash_name"` MarketName string `json:"market_name"` NameColor string `json:"name_color"` BackgroundColor string `json:"background_color"` Type string `json:"type"` Tradable int `json:"tradable"` Marketable int `json:"marketable"` Commodity int `json:"commodity"` MarketTradableRestriction string `json:"market_tradable_restriction"` MarketMarketableRestriction string `json:"market_marketable_restriction"` Descriptions []struct { Value string `json:"value"` Color string `json:"color"` AppData struct { DefIndex string `json:"def_index"` } `json:"app_data"` } `json:"descriptions"` Actions []struct { Name string `json:"name"` Link string `json:"link"` } `json:"actions"` MarketActions []struct { Name string `json:"name"` Link string `json:"link"` } `json:"market_actions"` Tags []struct { InternalName string `json:"internal_name"` Name string `json:"name"` Category string `json:"category"` Color string `json:"color"` CategoryName string `json:"category_name"` } `json:"tags"` AppData struct { DefIndex string `json:"def_index"` Quality string `json:"quality"` } `json:"app_data"` } `json:"rgDescriptions"` More bool `json:"more"` MoreStart bool `json:"more_start"` }
type Currency ¶
type Currency struct { CurrencyCode CurrencyCode Description string }
type CurrencyCode ¶
type CurrencyCode string
https://partner.steamgames.com/doc/store/pricing/currencies
const ( CurrencyAED CurrencyCode = "AED" CurrencyARS CurrencyCode = "ARS" CurrencyAUD CurrencyCode = "AUD" CurrencyBRL CurrencyCode = "BRL" CurrencyCAD CurrencyCode = "CAD" CurrencyCHF CurrencyCode = "CHF" CurrencyCLP CurrencyCode = "CLP" CurrencyCNY CurrencyCode = "CNY" CurrencyCOP CurrencyCode = "COP" CurrencyCRC CurrencyCode = "CRC" CurrencyEUR CurrencyCode = "EUR" CurrencyGBP CurrencyCode = "GBP" CurrencyHKD CurrencyCode = "HKD" CurrencyILS CurrencyCode = "ILS" CurrencyIDR CurrencyCode = "IDR" CurrencyINR CurrencyCode = "INR" CurrencyJPY CurrencyCode = "JPY" CurrencyKRW CurrencyCode = "KRW" CurrencyKWD CurrencyCode = "KWD" CurrencyKZT CurrencyCode = "KZT" CurrencyMXN CurrencyCode = "MXN" CurrencyMYR CurrencyCode = "MYR" CurrencyNOK CurrencyCode = "NOK" CurrencyNZD CurrencyCode = "NZD" CurrencyPEN CurrencyCode = "PEN" CurrencyPHP CurrencyCode = "PHP" CurrencyPLN CurrencyCode = "PLN" CurrencyQAR CurrencyCode = "QAR" CurrencyRUB CurrencyCode = "RUB" CurrencySAR CurrencyCode = "SAR" CurrencySGD CurrencyCode = "SGD" CurrencyTHB CurrencyCode = "THB" CurrencyTRY CurrencyCode = "TRY" CurrencyTWD CurrencyCode = "TWD" CurrencyUAH CurrencyCode = "UAH" CurrencyUSD CurrencyCode = "USD" CurrencyUYU CurrencyCode = "UYU" CurrencyVND CurrencyCode = "VND" CurrencyZAR CurrencyCode = "ZAR" )
type DefaultLogger ¶
type DefaultLogger struct { }
func (DefaultLogger) Err ¶
func (l DefaultLogger) Err(err error)
func (DefaultLogger) Info ¶
func (l DefaultLogger) Info(s string)
type FriendListResponse ¶
type FriendListResponse struct {
Friendslist FriendsList `json:"friendslist"`
}
type FriendsList ¶
type FriendsList struct {
Friends []Friend `json:"friends"`
}
type GetPlayerBanResponse ¶
type GetPlayerBanResponse struct { SteamID unmarshal.Int64 `json:"SteamId"` CommunityBanned bool `json:"CommunityBanned"` VACBanned bool `json:"VACBanned"` NumberOfVACBans int `json:"NumberOfVACBans"` DaysSinceLastBan int `json:"DaysSinceLastBan"` NumberOfGameBans int `json:"NumberOfGameBans"` EconomyBan string `json:"EconomyBan"` }
type GetPlayerBansResponse ¶
type GetPlayerBansResponse struct {
Players []GetPlayerBanResponse `json:"players"`
}
type GlobalAchievementPercentages ¶
type GlobalAchievementPercentages struct {
GlobalAchievementPercentage []GlobalAchievementAchievement `json:"achievements"`
}
func (GlobalAchievementPercentages) GetMap ¶
func (a GlobalAchievementPercentages) GetMap() map[string]float64
type GlobalAchievementPercentagesResponse ¶
type GlobalAchievementPercentagesResponse struct {
GlobalAchievementPercentagesOuter GlobalAchievementPercentages `json:"achievementpercentages"`
}
type GroupInfo ¶
type GroupInfo struct { Type string `xml:"-"` // Not in Steam response XMLName xml.Name `xml:"memberList"` Text string `xml:",chardata"` ID64 string `xml:"groupID64"` // Too big for int64 Details struct { Text string `xml:",chardata"` Name string `xml:"groupName"` URL string `xml:"groupURL"` Headline string `xml:"headline"` Summary string `xml:"summary"` AvatarIcon string `xml:"avatarIcon"` AvatarMedium string `xml:"avatarMedium"` AvatarFull string `xml:"avatarFull"` MemberCount unmarshal.Int `xml:"memberCount"` MembersInChat unmarshal.Int `xml:"membersInChat"` MembersInGame unmarshal.Int `xml:"membersInGame"` MembersOnline unmarshal.Int `xml:"membersOnline"` } `xml:"groupDetails"` MemberCount unmarshal.Int `xml:"memberCount"` TotalPages unmarshal.Int `xml:"totalPages"` CurrentPage unmarshal.Int `xml:"currentPage"` StartingMember unmarshal.Int `xml:"startingMember"` NextPageLink string `xml:"nextPageLink"` PreviousPageLink string `xml:"previousPageLink"` Members struct { Text string `xml:",chardata"` SteamID64 []unmarshal.Int64 `xml:"steamID64"` } `xml:"members"` }
type ItemDefArchive ¶
type ItemDefArchive struct { AppID unmarshal.Int `json:"appid"` Bundle string `json:"bundle"` Commodity unmarshal.Bool `json:"commodity"` DateCreated string `json:"date_created"` // Can't be time.Time, - "20161010T080316Z" Description string `json:"description"` DisplayType string `json:"display_type"` DropInterval unmarshal.Int `json:"drop_interval"` DropMaxPerWindow unmarshal.Int `json:"drop_max_per_window"` Exchange string `json:"exchange"` Hash string `json:"hash"` IconURL string `json:"icon_url"` IconURLLarge string `json:"icon_url_large"` ItemDefID unmarshal.Int `json:"itemdefid"` ItemQuality unmarshal.String `json:"item_quality"` // Can be bool Marketable unmarshal.Bool `json:"marketable"` Modified string `json:"modified"` // Can't be time.Time, - "20161010T080316Z" Name string `json:"name"` Price string `json:"price"` Promo string `json:"promo"` Quantity unmarshal.Int `json:"quantity"` // Can be 0 or "0" Tags string `json:"tags"` Timestamp string `json:"Timestamp"` // Can't be time.Time, - "" Tradable unmarshal.Bool `json:"tradable"` // Can be false or "false" Type string `json:"type"` WorkshopID unmarshal.Int64 `json:"workshopid"` }
type ItemDefMeta ¶
type Language ¶
type Language struct { EnglishName string NativeName string LanguageCode LanguageCode WebAPILanguageCode LanguageCodeWeb }
type LanguageCode ¶
type LanguageCode string
https://partner.steamgames.com/doc/store/localization
const ( LanguageArabic LanguageCode = "arabic" LanguageBulgarian LanguageCode = "bulgarian" LanguageChineseSimplified LanguageCode = "schinese" LanguageChineseTraditional LanguageCode = "tchinese" LanguageCzech LanguageCode = "czech" LanguageDanish LanguageCode = "danish" LanguageDutch LanguageCode = "dutch" LanguageEnglish LanguageCode = "english" LanguageFinnish LanguageCode = "finnish" LanguageFrench LanguageCode = "french" LanguageGerman LanguageCode = "german" LanguageGreek LanguageCode = "greek" LanguageHungarian LanguageCode = "hungarian" LanguageItalian LanguageCode = "italian" LanguageJapanese LanguageCode = "japanese" LanguageKorean LanguageCode = "koreana" LanguageNorwegian LanguageCode = "norwegian" LanguagePolish LanguageCode = "polish" LanguagePortuguese LanguageCode = "portuguese" LanguagePortugueseBrazil LanguageCode = "brazilian" LanguageRomanian LanguageCode = "romanian" LanguageRussian LanguageCode = "russian" LanguageSpanishSpain LanguageCode = "spanish" LanguageSpanishLatinAmerica LanguageCode = "latam" LanguageSwedish LanguageCode = "swedish" LanguageThai LanguageCode = "thai" LanguageTurkish LanguageCode = "turkish" LanguageUkrainian LanguageCode = "ukrainian" LanguageVietnamese LanguageCode = "vietnamese" )
func (LanguageCode) Title ¶
func (lc LanguageCode) Title() string
type LanguageCodeWeb ¶
type LanguageCodeWeb string
const ( LanguageWebAR LanguageCodeWeb = "ar" LanguageWebBG LanguageCodeWeb = "bg" LanguageWebZHCN LanguageCodeWeb = "zh-CN" LanguageWebZHTW LanguageCodeWeb = "zh-TW" LanguageWebCS LanguageCodeWeb = "cs" LanguageWebDA LanguageCodeWeb = "da" LanguageWebNL LanguageCodeWeb = "nl" LanguageWebEN LanguageCodeWeb = "en" LanguageWebFI LanguageCodeWeb = "fi" LanguageWebFR LanguageCodeWeb = "fr" LanguageWebDE LanguageCodeWeb = "de" LanguageWebEL LanguageCodeWeb = "el" LanguageWebHU LanguageCodeWeb = "hu" LanguageWebIT LanguageCodeWeb = "it" LanguageWebJA LanguageCodeWeb = "ja" LanguageWebKO LanguageCodeWeb = "ko" LanguageWebNO LanguageCodeWeb = "no" LanguageWebPL LanguageCodeWeb = "pl" LanguageWebPT LanguageCodeWeb = "pt" LanguageWebPTBR LanguageCodeWeb = "pt-BR" LanguageWebRO LanguageCodeWeb = "ro" LanguageWebRU LanguageCodeWeb = "ru" LanguageWebES LanguageCodeWeb = "es" LanguageWebES419 LanguageCodeWeb = "es-419" LanguageWebSV LanguageCodeWeb = "sv" LanguageWebTH LanguageCodeWeb = "th" LanguageWebTR LanguageCodeWeb = "tr" LanguageWebUK LanguageCodeWeb = "uk" LanguageWebVN LanguageCodeWeb = "vn" )
type LevelResponse ¶
type LevelResponse struct { Response struct { PlayerLevel int `json:"player_level"` } `json:"response"` }
type MarketSearch ¶
type MarketSearch struct { Success bool `json:"success"` Start int `json:"start"` Pagesize int `json:"pagesize"` TotalCount int `json:"total_count"` Searchdata struct { Query string `json:"query"` SearchDescriptions bool `json:"search_descriptions"` TotalCount int `json:"total_count"` Pagesize int `json:"pagesize"` Prefix string `json:"prefix"` ClassPrefix string `json:"class_prefix"` } `json:"searchdata"` Results []struct { Name string `json:"name"` HashName string `json:"hash_name"` SellListings int `json:"sell_listings"` SellPrice int `json:"sell_price"` SellPriceText string `json:"sell_price_text"` AppIcon string `json:"app_icon"` AppName string `json:"app_name"` AssetDescription struct { Appid int `json:"appid"` Classid string `json:"classid"` Instanceid string `json:"instanceid"` Currency int `json:"currency"` BackgroundColor string `json:"background_color"` IconURL string `json:"icon_url"` IconURLLarge string `json:"icon_url_large"` Tradable int `json:"tradable"` Name string `json:"name"` Type string `json:"type"` MarketName string `json:"market_name"` MarketHashName string `json:"market_hash_name"` Commodity int `json:"commodity"` MarketTradableRestriction int `json:"market_tradable_restriction"` MarketMarketableRestriction int `json:"market_marketable_restriction"` Marketable int `json:"marketable"` } `json:"asset_description"` SalePriceText string `json:"sale_price_text"` } `json:"results"` }
type MarketSearchPayload ¶
type News ¶
type News struct { AppID int `json:"appid"` Items []struct { GID unmarshal.Int64 `json:"gid"` Title string `json:"title"` URL string `json:"url"` IsExternalURL bool `json:"is_external_url"` Author string `json:"author"` Contents string `json:"contents"` Feedlabel string `json:"feedlabel"` Date int64 `json:"date"` FeedName string `json:"feedname"` FeedType int `json:"feed_type"` AppID int `json:"appid"` } `json:"newsitems"` Count int `json:"count"` }
type NewsResponse ¶
type NewsResponse struct {
App News `json:"appnews"`
}
type OwnedGames ¶
type OwnedGames struct { GameCount int `json:"game_count"` Games []struct { AppID int `json:"appid"` Name string `json:"name"` PlaytimeForever int `json:"playtime_forever"` PlaytimeWindows int `json:"playtime_windows_forever"` PlaytimeMac int `json:"playtime_mac_forever"` PlaytimeLinux int `json:"playtime_linux_forever"` ImgIconURL string `json:"img_icon_url"` ImgLogoURL string `json:"img_logo_url"` HasCommunityVisibleStats bool `json:"has_community_visible_stats"` } `json:"games"` }
type OwnedGamesResponse ¶
type OwnedGamesResponse struct {
Response OwnedGames `json:"response"`
}
type PackageDetailsBody ¶
type PackageDetailsBody struct { Success bool `json:"success"` Data struct { Name string `json:"name"` PageImage string `json:"page_image"` HeaderImage string `json:"header_image"` SmallLogo string `json:"small_logo"` Apps []struct { ID int `json:"id"` Name string `json:"name"` } `json:"apps"` Price struct { Currency CurrencyCode `json:"currency"` Initial int `json:"initial"` Final int `json:"final"` DiscountPercent int `json:"discount_percent"` Individual int `json:"individual"` } `json:"price"` Platforms struct { Windows bool `json:"windows"` Mac bool `json:"mac"` Linux bool `json:"linux"` } `json:"platforms"` Controller map[string]bool `json:"controller"` ReleaseDate struct { ComingSoon bool `json:"coming_soon"` Date string `json:"date"` } `json:"release_date"` } `json:"data"` }
type PlayerAchievementsOuterResponse ¶
type PlayerAchievementsOuterResponse struct {
Playerstats PlayerAchievementsResponse `json:"playerstats"`
}
type PlayerAchievementsResponse ¶
type PlayerAchievementsResponse struct { SteamID unmarshal.Int64 `json:"steamID"` GameName string `json:"gameName"` Achievements []struct { APIName string `json:"apiname"` Achieved unmarshal.Bool `json:"achieved"` UnlockTime int64 `json:"unlocktime"` Name string `json:"name"` Description string `json:"description"` } `json:"achievements"` Error string `json:"error"` Success bool `json:"success"` }
type PlayerResponse ¶
type PlayerResponse struct { Response struct { Players []PlayerSummary `json:"players"` } `json:"response"` }
type PlayerSummary ¶
type PlayerSummary struct { SteamID unmarshal.Int64 `json:"steamid"` CommunityVisibilityState int `json:"communityvisibilitystate"` ProfileState int `json:"profilestate"` PersonaName string `json:"personaname"` LastLogOff int64 `json:"lastlogoff"` CommentPermission int `json:"commentpermission"` ProfileURL string `json:"profileurl"` Avatar string `json:"avatar"` AvatarMedium string `json:"avatarmedium"` AvatarFull string `json:"avatarfull"` AvatarHash string `json:"avatarhash"` PersonaState int `json:"personastate"` RealName string `json:"realname"` PrimaryClanID string `json:"primaryclanid"` TimeCreated int64 `json:"timecreated"` PersonaStateFlags int `json:"personastateflags"` CountryCode string `json:"loccountrycode"` StateCode string `json:"locstatecode"` CityID int `json:"loccityid"` }
type PriceOverview ¶
type PriceOverview struct { Success bool `json:"success"` LowestPrice string `json:"lowest_price"` Volume string `json:"volume"` MedianPrice string `json:"median_price"` }
func GetPriceOverview ¶
func GetPriceOverview() (resp PriceOverview, b []byte, err error)
type ProductCC ¶
type ProductCC string
Country codes to get info on apps/packages
const ( ProductCCAE ProductCC = "ae" ProductCCAR ProductCC = "ar" ProductCCAU ProductCC = "au" ProductCCAZ ProductCC = "az" ProductCCBR ProductCC = "br" ProductCCCA ProductCC = "ca" ProductCCCH ProductCC = "ch" ProductCCCL ProductCC = "cl" ProductCCCN ProductCC = "cn" ProductCCCO ProductCC = "co" ProductCCCR ProductCC = "cr" ProductCCEU ProductCC = "eu" ProductCCHK ProductCC = "hk" ProductCCID ProductCC = "id" ProductCCIL ProductCC = "il" ProductCCIN ProductCC = "in" ProductCCJP ProductCC = "jp" ProductCCKR ProductCC = "kr" ProductCCKW ProductCC = "kw" ProductCCKZ ProductCC = "kz" ProductCCMX ProductCC = "mx" ProductCCMY ProductCC = "my" ProductCCNO ProductCC = "no" ProductCCNZ ProductCC = "nz" ProductCCPE ProductCC = "pe" ProductCCPH ProductCC = "ph" ProductCCPK ProductCC = "pk" ProductCCPL ProductCC = "pl" ProductCCQA ProductCC = "qa" ProductCCRU ProductCC = "ru" ProductCCSA ProductCC = "sa" ProductCCSG ProductCC = "sg" ProductCCTH ProductCC = "th" ProductCCTR ProductCC = "tr" ProductCCTW ProductCC = "tw" ProductCCUA ProductCC = "ua" ProductCCUK ProductCC = "uk" ProductCCUS ProductCC = "us" ProductCCUY ProductCC = "uy" ProductCCVN ProductCC = "vn" ProductCCZA ProductCC = "za" )
type RecentlyPlayedGame ¶
type RecentlyPlayedGame struct { AppID int `json:"appid"` Name string `json:"name"` PlayTime2Weeks int `json:"playtime_2weeks"` PlayTimeForever int `json:"playtime_forever"` ImgIconURL string `json:"img_icon_url"` ImgLogoURL string `json:"img_logo_url"` WindowsForever int `json:"playtime_windows_forever"` MacForever int `json:"playtime_mac_forever"` LinuxForever int `json:"playtime_linux_forever"` }
type RecentlyPlayedGames ¶
type RecentlyPlayedGames struct { TotalCount int `json:"total_count"` Games []RecentlyPlayedGame `json:"games"` }
type RecentlyPlayedGamesResponse ¶
type RecentlyPlayedGamesResponse struct {
Response RecentlyPlayedGames `json:"response"`
}
type ReviewsResponse ¶
type ReviewsResponse struct { Success int `json:"success"` QuerySummary struct { NumReviews int `json:"num_reviews"` ReviewScore float64 `json:"review_score"` ReviewScoreDesc string `json:"review_score_desc"` TotalPositive int `json:"total_positive"` TotalNegative int `json:"total_negative"` TotalReviews int `json:"total_reviews"` } `json:"query_summary"` Reviews []struct { Recommendationid string `json:"recommendationid"` Author struct { SteamID unmarshal.Int64 `json:"steamid"` NumGamesOwned int `json:"num_games_owned"` NumReviews int `json:"num_reviews"` PlaytimeForever int `json:"playtime_forever"` PlaytimeLastTwoWeeks int `json:"playtime_last_two_weeks"` LastPlayed int `json:"last_played"` } `json:"author"` Language string `json:"language"` Review string `json:"review"` TimestampCreated int64 `json:"timestamp_created"` TimestampUpdated int64 `json:"timestamp_updated"` VotedUp bool `json:"voted_up"` VotesUp int `json:"votes_up"` VotesFunny int `json:"votes_funny"` WeightedVoteScore unmarshal.Float64 `json:"weighted_vote_score"` CommentCount int `json:"comment_count"` SteamPurchase bool `json:"steam_purchase"` ReceivedForFree bool `json:"received_for_free"` WrittenDuringEarlyAccess bool `json:"written_during_early_access"` } `json:"reviews"` }
func (ReviewsResponse) GetNegativePercent ¶
func (r ReviewsResponse) GetNegativePercent() float64
func (ReviewsResponse) GetPositivePercent ¶
func (r ReviewsResponse) GetPositivePercent() float64
type SchemaForGame ¶
type SchemaForGame struct { Name string `json:"gameName"` Version string `json:"gameVersion"` AvailableGameStats struct { Stats []SchemaForGameStat `json:"stats"` Achievements []SchemaForGameAchievement `json:"achievements"` } `json:"availableGameStats"` }
type SchemaForGameResponse ¶
type SchemaForGameResponse struct {
Game SchemaForGame `json:"game"`
}
type SchemaForGameStat ¶
type SupportedAPIListResponse ¶
type SupportedAPIListResponse struct {
APIList APIInterfaces `json:"apilist"`
}
type UserGroupList ¶
type UserGroupList struct { Success bool `json:"success"` Groups []struct { GID string `json:"gid"` // Can be over 64 bit } `json:"groups"` Error string `json:"error"` }
func (UserGroupList) GetIDs ¶
func (u UserGroupList) GetIDs() (ids []string)
type UserGroupListResponse ¶
type UserGroupListResponse struct {
Response UserGroupList `json:"response"`
}
type VanityURLRepsonse ¶
type VanityURLRepsonse struct {
Response VanityURL
}
type Wishlist ¶
type Wishlist struct {
Items map[unmarshal.Int]WishlistItem
}
type WishlistFail ¶
type WishlistFail struct {
Success int `json:"success"`
}
type WishlistItem ¶
type WishlistItem struct { Name string `json:"name"` Capsule string `json:"capsule"` ReviewScore int `json:"review_score"` ReviewDesc string `json:"review_desc"` ReviewsTotal string `json:"reviews_total"` ReviewsPercent int `json:"reviews_percent"` ReleaseDate unmarshal.Int64 `json:"release_date"` ReleaseString string `json:"release_string"` PlatformIcons string `json:"platform_icons"` Subs []struct { ID int `json:"id"` DiscountBlock string `json:"discount_block"` DiscountPct int `json:"discount_pct"` Price unmarshal.Int `json:"price"` } `json:"subs"` Type string `json:"type"` Screenshots []string `json:"screenshots"` ReviewCSS string `json:"review_css"` Priority int `json:"priority"` Added int `json:"added"` Background string `json:"background"` Rank unmarshal.Int `json:"rank"` Tags []string `json:"tags"` EarlyAccess int `json:"early_access"` IsFreeGame bool `json:"is_free_game"` Win unmarshal.Bool `json:"win"` Mac unmarshal.Bool `json:"mac"` Linux unmarshal.Bool `json:"linux"` }