steam_web_api 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/.rspec +2 -0
- data/.travis.yml +15 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +22 -0
- data/README.html +1134 -0
- data/README.md +356 -0
- data/Rakefile +11 -0
- data/lib/steam_web_api/base.rb +39 -0
- data/lib/steam_web_api/configuration.rb +9 -0
- data/lib/steam_web_api/game.rb +37 -0
- data/lib/steam_web_api/player.rb +108 -0
- data/lib/steam_web_api/version.rb +3 -0
- data/lib/steam_web_api.rb +29 -0
- data/spec/fixtures/vcr/game_achievement_percentages.yml +624 -0
- data/spec/fixtures/vcr/game_achievement_percentages_error.yml +37 -0
- data/spec/fixtures/vcr/game_news_error.yml +37 -0
- data/spec/fixtures/vcr/game_news_success.yml +96 -0
- data/spec/fixtures/vcr/game_schema.yml +3538 -0
- data/spec/fixtures/vcr/player_achievements.yml +91 -0
- data/spec/fixtures/vcr/player_achievements_empty.yml +35 -0
- data/spec/fixtures/vcr/player_bans.yml +38 -0
- data/spec/fixtures/vcr/player_bans_error.yml +37 -0
- data/spec/fixtures/vcr/player_friends.yml +51 -0
- data/spec/fixtures/vcr/player_friends_error.yml +44 -0
- data/spec/fixtures/vcr/player_owned_games.yml +82 -0
- data/spec/fixtures/vcr/player_owned_games_appinfo.yml +291 -0
- data/spec/fixtures/vcr/player_playing_shared_game.yml +36 -0
- data/spec/fixtures/vcr/player_playing_shared_game_error.yml +44 -0
- data/spec/fixtures/vcr/player_recently_played_games.yml +48 -0
- data/spec/fixtures/vcr/player_recently_played_games_error.yml +44 -0
- data/spec/fixtures/vcr/player_recently_played_games_with_count.yml +42 -0
- data/spec/fixtures/vcr/player_single_bans.yml +36 -0
- data/spec/fixtures/vcr/player_single_bans_error.yml +37 -0
- data/spec/fixtures/vcr/player_single_summary.yml +43 -0
- data/spec/fixtures/vcr/player_single_summary_error.yml +37 -0
- data/spec/fixtures/vcr/player_summary.yml +51 -0
- data/spec/fixtures/vcr/player_summary_error.yml +37 -0
- data/spec/fixtures/vcr/stats_for_game.yml +321 -0
- data/spec/fixtures/vcr/stats_for_game_empty.yml +37 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/steam_web_api/base_spec.rb +94 -0
- data/spec/steam_web_api/configuration_spec.rb +16 -0
- data/spec/steam_web_api/game_spec.rb +137 -0
- data/spec/steam_web_api/player_spec.rb +362 -0
- data/spec/steam_web_api_spec.rb +18 -0
- data/steam_web_api.gemspec +30 -0
- metadata +235 -0
data/README.html
ADDED
|
@@ -0,0 +1,1134 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><style>body {
|
|
2
|
+
width: 45em;
|
|
3
|
+
border: 1px solid #ddd;
|
|
4
|
+
outline: 1300px solid #fff;
|
|
5
|
+
margin: 16px auto;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
body .markdown-body
|
|
9
|
+
{
|
|
10
|
+
padding: 30px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@font-face {
|
|
14
|
+
font-family: fontawesome-mini;
|
|
15
|
+
src: url(data:font/woff;charset=utf-8;base64,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) format('woff');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@font-face {
|
|
19
|
+
font-family: octicons-anchor;
|
|
20
|
+
src: url(data:font/woff;charset=utf-8;base64,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) format('woff');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.markdown-body {
|
|
24
|
+
font-family: sans-serif;
|
|
25
|
+
-ms-text-size-adjust: 100%;
|
|
26
|
+
-webkit-text-size-adjust: 100%;
|
|
27
|
+
color: #333333;
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
|
|
30
|
+
font-size: 16px;
|
|
31
|
+
line-height: 1.6;
|
|
32
|
+
word-wrap: break-word;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.markdown-body a {
|
|
36
|
+
background: transparent;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.markdown-body a:active,
|
|
40
|
+
.markdown-body a:hover {
|
|
41
|
+
outline: 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.markdown-body b,
|
|
45
|
+
.markdown-body strong {
|
|
46
|
+
font-weight: bold;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.markdown-body mark {
|
|
50
|
+
background: #ff0;
|
|
51
|
+
color: #000;
|
|
52
|
+
font-style: italic;
|
|
53
|
+
font-weight: bold;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.markdown-body sub,
|
|
57
|
+
.markdown-body sup {
|
|
58
|
+
font-size: 75%;
|
|
59
|
+
line-height: 0;
|
|
60
|
+
position: relative;
|
|
61
|
+
vertical-align: baseline;
|
|
62
|
+
}
|
|
63
|
+
.markdown-body sup {
|
|
64
|
+
top: -0.5em;
|
|
65
|
+
}
|
|
66
|
+
.markdown-body sub {
|
|
67
|
+
bottom: -0.25em;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.markdown-body h1 {
|
|
71
|
+
font-size: 2em;
|
|
72
|
+
margin: 0.67em 0;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.markdown-body img {
|
|
76
|
+
border: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.markdown-body hr {
|
|
80
|
+
-moz-box-sizing: content-box;
|
|
81
|
+
box-sizing: content-box;
|
|
82
|
+
height: 0;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.markdown-body pre {
|
|
86
|
+
overflow: auto;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.markdown-body code,
|
|
90
|
+
.markdown-body kbd,
|
|
91
|
+
.markdown-body pre,
|
|
92
|
+
.markdown-body samp {
|
|
93
|
+
font-family: monospace, monospace;
|
|
94
|
+
font-size: 1em;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.markdown-body input {
|
|
98
|
+
color: inherit;
|
|
99
|
+
font: inherit;
|
|
100
|
+
margin: 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.markdown-body html input[disabled] {
|
|
104
|
+
cursor: default;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.markdown-body input {
|
|
108
|
+
line-height: normal;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.markdown-body input[type="checkbox"] {
|
|
112
|
+
box-sizing: border-box;
|
|
113
|
+
padding: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.markdown-body table {
|
|
117
|
+
border-collapse: collapse;
|
|
118
|
+
border-spacing: 0;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.markdown-body td,
|
|
122
|
+
.markdown-body th {
|
|
123
|
+
padding: 0;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.markdown-body .codehilitetable {
|
|
127
|
+
border: 0;
|
|
128
|
+
border-spacing: 0;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.markdown-body .codehilitetable tr {
|
|
132
|
+
border: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.markdown-body .codehilitetable pre,
|
|
136
|
+
.markdown-body .codehilitetable div.codehilite {
|
|
137
|
+
margin: 0;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.markdown-body .linenos,
|
|
141
|
+
.markdown-body .code,
|
|
142
|
+
.markdown-body .codehilitetable td {
|
|
143
|
+
border: 0;
|
|
144
|
+
padding: 0;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.markdown-body td:not(.linenos) .linenodiv {
|
|
148
|
+
padding: 0 !important;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.markdown-body .code {
|
|
152
|
+
width: 100%;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.markdown-body .linenos div pre,
|
|
156
|
+
.markdown-body .linenodiv pre,
|
|
157
|
+
.markdown-body .linenodiv {
|
|
158
|
+
border: 0;
|
|
159
|
+
-webkit-border-radius: 0;
|
|
160
|
+
-moz-border-radius: 0;
|
|
161
|
+
border-radius: 0;
|
|
162
|
+
-webkit-border-top-left-radius: 3px;
|
|
163
|
+
-webkit-border-bottom-left-radius: 3px;
|
|
164
|
+
-moz-border-radius-topleft: 3px;
|
|
165
|
+
-moz-border-radius-bottomleft: 3px;
|
|
166
|
+
border-top-left-radius: 3px;
|
|
167
|
+
border-bottom-left-radius: 3px;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.markdown-body .code div pre,
|
|
171
|
+
.markdown-body .code div {
|
|
172
|
+
border: 0;
|
|
173
|
+
-webkit-border-radius: 0;
|
|
174
|
+
-moz-border-radius: 0;
|
|
175
|
+
border-radius: 0;
|
|
176
|
+
-webkit-border-top-right-radius: 3px;
|
|
177
|
+
-webkit-border-bottom-right-radius: 3px;
|
|
178
|
+
-moz-border-radius-topright: 3px;
|
|
179
|
+
-moz-border-radius-bottomright: 3px;
|
|
180
|
+
border-top-right-radius: 3px;
|
|
181
|
+
border-bottom-right-radius: 3px;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.markdown-body * {
|
|
185
|
+
-moz-box-sizing: border-box;
|
|
186
|
+
box-sizing: border-box;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.markdown-body input {
|
|
190
|
+
font: 13px Helvetica, arial, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
|
|
191
|
+
line-height: 1.4;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.markdown-body a {
|
|
195
|
+
color: #4183c4;
|
|
196
|
+
text-decoration: none;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.markdown-body a:hover,
|
|
200
|
+
.markdown-body a:focus,
|
|
201
|
+
.markdown-body a:active {
|
|
202
|
+
text-decoration: underline;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.markdown-body hr {
|
|
206
|
+
height: 0;
|
|
207
|
+
margin: 15px 0;
|
|
208
|
+
overflow: hidden;
|
|
209
|
+
background: transparent;
|
|
210
|
+
border: 0;
|
|
211
|
+
border-bottom: 1px solid #ddd;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.markdown-body hr:before,
|
|
215
|
+
.markdown-body hr:after {
|
|
216
|
+
display: table;
|
|
217
|
+
content: " ";
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.markdown-body hr:after {
|
|
221
|
+
clear: both;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.markdown-body h1,
|
|
225
|
+
.markdown-body h2,
|
|
226
|
+
.markdown-body h3,
|
|
227
|
+
.markdown-body h4,
|
|
228
|
+
.markdown-body h5,
|
|
229
|
+
.markdown-body h6 {
|
|
230
|
+
margin-top: 15px;
|
|
231
|
+
margin-bottom: 15px;
|
|
232
|
+
line-height: 1.1;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.markdown-body h1 {
|
|
236
|
+
font-size: 30px;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.markdown-body h2 {
|
|
240
|
+
font-size: 21px;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.markdown-body h3 {
|
|
244
|
+
font-size: 16px;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.markdown-body h4 {
|
|
248
|
+
font-size: 14px;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.markdown-body h5 {
|
|
252
|
+
font-size: 12px;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.markdown-body h6 {
|
|
256
|
+
font-size: 11px;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.markdown-body blockquote {
|
|
260
|
+
margin: 0;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.markdown-body ul,
|
|
264
|
+
.markdown-body ol {
|
|
265
|
+
padding: 0;
|
|
266
|
+
margin-top: 0;
|
|
267
|
+
margin-bottom: 0;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.markdown-body ol ol,
|
|
271
|
+
.markdown-body ul ol {
|
|
272
|
+
list-style-type: lower-roman;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.markdown-body ul ul ol,
|
|
276
|
+
.markdown-body ul ol ol,
|
|
277
|
+
.markdown-body ol ul ol,
|
|
278
|
+
.markdown-body ol ol ol {
|
|
279
|
+
list-style-type: lower-alpha;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.markdown-body dd {
|
|
283
|
+
margin-left: 0;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.markdown-body code,
|
|
287
|
+
.markdown-body pre,
|
|
288
|
+
.markdown-body samp {
|
|
289
|
+
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
290
|
+
font-size: 12px;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.markdown-body pre {
|
|
294
|
+
margin-top: 0;
|
|
295
|
+
margin-bottom: 0;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.markdown-body kbd {
|
|
299
|
+
background-color: #e7e7e7;
|
|
300
|
+
background-image: -moz-linear-gradient(#fefefe, #e7e7e7);
|
|
301
|
+
background-image: -webkit-linear-gradient(#fefefe, #e7e7e7);
|
|
302
|
+
background-image: linear-gradient(#fefefe, #e7e7e7);
|
|
303
|
+
background-repeat: repeat-x;
|
|
304
|
+
border-radius: 2px;
|
|
305
|
+
border: 1px solid #cfcfcf;
|
|
306
|
+
color: #000;
|
|
307
|
+
padding: 3px 5px;
|
|
308
|
+
line-height: 10px;
|
|
309
|
+
font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
310
|
+
display: inline-block;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.markdown-body>*:first-child {
|
|
314
|
+
margin-top: 0 !important;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.markdown-body>*:last-child {
|
|
318
|
+
margin-bottom: 0 !important;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.markdown-body .headeranchor-link {
|
|
322
|
+
position: absolute;
|
|
323
|
+
top: 0;
|
|
324
|
+
bottom: 0;
|
|
325
|
+
left: 0;
|
|
326
|
+
display: block;
|
|
327
|
+
padding-right: 6px;
|
|
328
|
+
padding-left: 30px;
|
|
329
|
+
margin-left: -30px;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.markdown-body .headeranchor-link:focus {
|
|
333
|
+
outline: none;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.markdown-body h1,
|
|
337
|
+
.markdown-body h2,
|
|
338
|
+
.markdown-body h3,
|
|
339
|
+
.markdown-body h4,
|
|
340
|
+
.markdown-body h5,
|
|
341
|
+
.markdown-body h6 {
|
|
342
|
+
position: relative;
|
|
343
|
+
margin-top: 1em;
|
|
344
|
+
margin-bottom: 16px;
|
|
345
|
+
font-weight: bold;
|
|
346
|
+
line-height: 1.4;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.markdown-body h1 .headeranchor,
|
|
350
|
+
.markdown-body h2 .headeranchor,
|
|
351
|
+
.markdown-body h3 .headeranchor,
|
|
352
|
+
.markdown-body h4 .headeranchor,
|
|
353
|
+
.markdown-body h5 .headeranchor,
|
|
354
|
+
.markdown-body h6 .headeranchor {
|
|
355
|
+
display: none;
|
|
356
|
+
color: #000;
|
|
357
|
+
vertical-align: middle;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.markdown-body h1:hover .headeranchor-link,
|
|
361
|
+
.markdown-body h2:hover .headeranchor-link,
|
|
362
|
+
.markdown-body h3:hover .headeranchor-link,
|
|
363
|
+
.markdown-body h4:hover .headeranchor-link,
|
|
364
|
+
.markdown-body h5:hover .headeranchor-link,
|
|
365
|
+
.markdown-body h6:hover .headeranchor-link {
|
|
366
|
+
height: 1em;
|
|
367
|
+
padding-left: 8px;
|
|
368
|
+
margin-left: -30px;
|
|
369
|
+
line-height: 1;
|
|
370
|
+
text-decoration: none;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.markdown-body h1:hover .headeranchor-link .headeranchor,
|
|
374
|
+
.markdown-body h2:hover .headeranchor-link .headeranchor,
|
|
375
|
+
.markdown-body h3:hover .headeranchor-link .headeranchor,
|
|
376
|
+
.markdown-body h4:hover .headeranchor-link .headeranchor,
|
|
377
|
+
.markdown-body h5:hover .headeranchor-link .headeranchor,
|
|
378
|
+
.markdown-body h6:hover .headeranchor-link .headeranchor {
|
|
379
|
+
display: inline-block;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.markdown-body h1 {
|
|
383
|
+
padding-bottom: 0.3em;
|
|
384
|
+
font-size: 2.25em;
|
|
385
|
+
line-height: 1.2;
|
|
386
|
+
border-bottom: 1px solid #eee;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
.markdown-body h2 {
|
|
390
|
+
padding-bottom: 0.3em;
|
|
391
|
+
font-size: 1.75em;
|
|
392
|
+
line-height: 1.225;
|
|
393
|
+
border-bottom: 1px solid #eee;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
.markdown-body h3 {
|
|
397
|
+
font-size: 1.5em;
|
|
398
|
+
line-height: 1.43;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.markdown-body h4 {
|
|
402
|
+
font-size: 1.25em;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.markdown-body h5 {
|
|
406
|
+
font-size: 1em;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.markdown-body h6 {
|
|
410
|
+
font-size: 1em;
|
|
411
|
+
color: #777;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.markdown-body p,
|
|
415
|
+
.markdown-body blockquote,
|
|
416
|
+
.markdown-body ul,
|
|
417
|
+
.markdown-body ol,
|
|
418
|
+
.markdown-body dl,
|
|
419
|
+
.markdown-body table,
|
|
420
|
+
.markdown-body pre,
|
|
421
|
+
.markdown-body .admonition {
|
|
422
|
+
margin-top: 0;
|
|
423
|
+
margin-bottom: 16px;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
.markdown-body hr {
|
|
427
|
+
height: 4px;
|
|
428
|
+
padding: 0;
|
|
429
|
+
margin: 16px 0;
|
|
430
|
+
background-color: #e7e7e7;
|
|
431
|
+
border: 0 none;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.markdown-body ul,
|
|
435
|
+
.markdown-body ol {
|
|
436
|
+
padding-left: 2em;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.markdown-body ul ul,
|
|
440
|
+
.markdown-body ul ol,
|
|
441
|
+
.markdown-body ol ol,
|
|
442
|
+
.markdown-body ol ul {
|
|
443
|
+
margin-top: 0;
|
|
444
|
+
margin-bottom: 0;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.markdown-body li>p {
|
|
448
|
+
margin-top: 16px;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
.markdown-body dl {
|
|
452
|
+
padding: 0;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
.markdown-body dl dt {
|
|
456
|
+
padding: 0;
|
|
457
|
+
margin-top: 16px;
|
|
458
|
+
font-size: 1em;
|
|
459
|
+
font-style: italic;
|
|
460
|
+
font-weight: bold;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
.markdown-body dl dd {
|
|
464
|
+
padding: 0 16px;
|
|
465
|
+
margin-bottom: 16px;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
.markdown-body blockquote {
|
|
469
|
+
padding: 0 15px;
|
|
470
|
+
color: #777;
|
|
471
|
+
border-left: 4px solid #ddd;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
.markdown-body blockquote>:first-child {
|
|
475
|
+
margin-top: 0;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
.markdown-body blockquote>:last-child {
|
|
479
|
+
margin-bottom: 0;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
.markdown-body table {
|
|
483
|
+
display: block;
|
|
484
|
+
width: 100%;
|
|
485
|
+
overflow: auto;
|
|
486
|
+
word-break: normal;
|
|
487
|
+
word-break: keep-all;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
.markdown-body table th {
|
|
491
|
+
font-weight: bold;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.markdown-body table th,
|
|
495
|
+
.markdown-body table td {
|
|
496
|
+
padding: 6px 13px;
|
|
497
|
+
border: 1px solid #ddd;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.markdown-body table tr {
|
|
501
|
+
background-color: #fff;
|
|
502
|
+
border-top: 1px solid #ccc;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
.markdown-body table tr:nth-child(2n) {
|
|
506
|
+
background-color: #f8f8f8;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
.markdown-body img {
|
|
510
|
+
max-width: 100%;
|
|
511
|
+
-moz-box-sizing: border-box;
|
|
512
|
+
box-sizing: border-box;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
.markdown-body code,
|
|
516
|
+
.markdown-body samp {
|
|
517
|
+
padding: 0;
|
|
518
|
+
padding-top: 0.2em;
|
|
519
|
+
padding-bottom: 0.2em;
|
|
520
|
+
margin: 0;
|
|
521
|
+
font-size: 85%;
|
|
522
|
+
background-color: rgba(0,0,0,0.04);
|
|
523
|
+
border-radius: 3px;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
.markdown-body code:before,
|
|
527
|
+
.markdown-body code:after {
|
|
528
|
+
letter-spacing: -0.2em;
|
|
529
|
+
content: "\00a0";
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
.markdown-body pre>code {
|
|
533
|
+
padding: 0;
|
|
534
|
+
margin: 0;
|
|
535
|
+
font-size: 100%;
|
|
536
|
+
word-break: normal;
|
|
537
|
+
white-space: pre;
|
|
538
|
+
background: transparent;
|
|
539
|
+
border: 0;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
.markdown-body .codehilite {
|
|
543
|
+
margin-bottom: 16px;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
.markdown-body .codehilite pre,
|
|
547
|
+
.markdown-body pre {
|
|
548
|
+
padding: 16px;
|
|
549
|
+
overflow: auto;
|
|
550
|
+
font-size: 85%;
|
|
551
|
+
line-height: 1.45;
|
|
552
|
+
background-color: #f7f7f7;
|
|
553
|
+
border-radius: 3px;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
.markdown-body .codehilite pre {
|
|
557
|
+
margin-bottom: 0;
|
|
558
|
+
word-break: normal;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
.markdown-body pre {
|
|
562
|
+
word-wrap: normal;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
.markdown-body pre code {
|
|
566
|
+
display: inline;
|
|
567
|
+
max-width: initial;
|
|
568
|
+
padding: 0;
|
|
569
|
+
margin: 0;
|
|
570
|
+
overflow: initial;
|
|
571
|
+
line-height: inherit;
|
|
572
|
+
word-wrap: normal;
|
|
573
|
+
background-color: transparent;
|
|
574
|
+
border: 0;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
.markdown-body pre code:before,
|
|
578
|
+
.markdown-body pre code:after {
|
|
579
|
+
content: normal;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
/* Admonition */
|
|
583
|
+
.markdown-body .admonition {
|
|
584
|
+
-webkit-border-radius: 3px;
|
|
585
|
+
-moz-border-radius: 3px;
|
|
586
|
+
position: relative;
|
|
587
|
+
border-radius: 3px;
|
|
588
|
+
border: 1px solid #e0e0e0;
|
|
589
|
+
border-left: 6px solid #333;
|
|
590
|
+
padding: 10px 10px 10px 30px;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
.markdown-body .admonition table {
|
|
594
|
+
color: #333;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
.markdown-body .admonition p {
|
|
598
|
+
padding: 0;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
.markdown-body .admonition-title {
|
|
602
|
+
font-weight: bold;
|
|
603
|
+
margin: 0;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
.markdown-body .admonition>.admonition-title {
|
|
607
|
+
color: #333;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
.markdown-body .attention>.admonition-title {
|
|
611
|
+
color: #a6d796;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
.markdown-body .caution>.admonition-title {
|
|
615
|
+
color: #d7a796;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
.markdown-body .hint>.admonition-title {
|
|
619
|
+
color: #96c6d7;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
.markdown-body .danger>.admonition-title {
|
|
623
|
+
color: #c25f77;
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
.markdown-body .question>.admonition-title {
|
|
627
|
+
color: #96a6d7;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
.markdown-body .note>.admonition-title {
|
|
631
|
+
color: #d7c896;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
.markdown-body .admonition:before,
|
|
635
|
+
.markdown-body .attention:before,
|
|
636
|
+
.markdown-body .caution:before,
|
|
637
|
+
.markdown-body .hint:before,
|
|
638
|
+
.markdown-body .danger:before,
|
|
639
|
+
.markdown-body .question:before,
|
|
640
|
+
.markdown-body .note:before {
|
|
641
|
+
font: normal normal 16px fontawesome-mini;
|
|
642
|
+
-moz-osx-font-smoothing: grayscale;
|
|
643
|
+
-webkit-user-select: none;
|
|
644
|
+
-moz-user-select: none;
|
|
645
|
+
-ms-user-select: none;
|
|
646
|
+
user-select: none;
|
|
647
|
+
line-height: 1.5;
|
|
648
|
+
color: #333;
|
|
649
|
+
position: absolute;
|
|
650
|
+
left: 0;
|
|
651
|
+
top: 0;
|
|
652
|
+
padding-top: 10px;
|
|
653
|
+
padding-left: 10px;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
.markdown-body .admonition:before {
|
|
657
|
+
content: "\f056\00a0";
|
|
658
|
+
color: 333;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
.markdown-body .attention:before {
|
|
662
|
+
content: "\f058\00a0";
|
|
663
|
+
color: #a6d796;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
.markdown-body .caution:before {
|
|
667
|
+
content: "\f06a\00a0";
|
|
668
|
+
color: #d7a796;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
.markdown-body .hint:before {
|
|
672
|
+
content: "\f05a\00a0";
|
|
673
|
+
color: #96c6d7;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
.markdown-body .danger:before {
|
|
677
|
+
content: "\f057\00a0";
|
|
678
|
+
color: #c25f77;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
.markdown-body .question:before {
|
|
682
|
+
content: "\f059\00a0";
|
|
683
|
+
color: #96a6d7;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
.markdown-body .note:before {
|
|
687
|
+
content: "\f040\00a0";
|
|
688
|
+
color: #d7c896;
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
.markdown-body .admonition::after {
|
|
692
|
+
content: normal;
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
.markdown-body .attention {
|
|
696
|
+
border-left: 6px solid #a6d796;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
.markdown-body .caution {
|
|
700
|
+
border-left: 6px solid #d7a796;
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
.markdown-body .hint {
|
|
704
|
+
border-left: 6px solid #96c6d7;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
.markdown-body .danger {
|
|
708
|
+
border-left: 6px solid #c25f77;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
.markdown-body .question {
|
|
712
|
+
border-left: 6px solid #96a6d7;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
.markdown-body .note {
|
|
716
|
+
border-left: 6px solid #d7c896;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
.markdown-body .admonition>*:first-child {
|
|
720
|
+
margin-top: 0 !important;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
.markdown-body .admonition>*:last-child {
|
|
724
|
+
margin-bottom: 0 !important;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
/* progress bar*/
|
|
728
|
+
.markdown-body .progress {
|
|
729
|
+
display: block;
|
|
730
|
+
width: 300px;
|
|
731
|
+
margin: 10px 0;
|
|
732
|
+
height: 24px;
|
|
733
|
+
-webkit-border-radius: 3px;
|
|
734
|
+
-moz-border-radius: 3px;
|
|
735
|
+
border-radius: 3px;
|
|
736
|
+
background-color: #ededed;
|
|
737
|
+
position: relative;
|
|
738
|
+
box-shadow: inset -1px 1px 3px rgba(0, 0, 0, .1);
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
.markdown-body .progress-label {
|
|
742
|
+
position: absolute;
|
|
743
|
+
text-align: center;
|
|
744
|
+
font-weight: bold;
|
|
745
|
+
width: 100%; margin: 0;
|
|
746
|
+
line-height: 24px;
|
|
747
|
+
color: #333;
|
|
748
|
+
text-shadow: 1px 1px 0 #fefefe, -1px -1px 0 #fefefe, -1px 1px 0 #fefefe, 1px -1px 0 #fefefe, 0 1px 0 #fefefe, 0 -1px 0 #fefefe, 1px 0 0 #fefefe, -1px 0 0 #fefefe, 1px 1px 2px #000;
|
|
749
|
+
-webkit-font-smoothing: antialiased !important;
|
|
750
|
+
white-space: nowrap;
|
|
751
|
+
overflow: hidden;
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
.markdown-body .progress-bar {
|
|
755
|
+
height: 24px;
|
|
756
|
+
float: left;
|
|
757
|
+
-webkit-border-radius: 3px;
|
|
758
|
+
-moz-border-radius: 3px;
|
|
759
|
+
border-radius: 3px;
|
|
760
|
+
background-color: #96c6d7;
|
|
761
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -1px 0 rgba(0, 0, 0, .1);
|
|
762
|
+
background-size: 30px 30px;
|
|
763
|
+
background-image: -webkit-linear-gradient(
|
|
764
|
+
135deg, rgba(255, 255, 255, .4) 27%,
|
|
765
|
+
transparent 27%,
|
|
766
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
767
|
+
rgba(255, 255, 255, .4) 77%,
|
|
768
|
+
transparent 77%, transparent
|
|
769
|
+
);
|
|
770
|
+
background-image: -moz-linear-gradient(
|
|
771
|
+
135deg,
|
|
772
|
+
rgba(255, 255, 255, .4) 27%, transparent 27%,
|
|
773
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
774
|
+
rgba(255, 255, 255, .4) 77%, transparent 77%,
|
|
775
|
+
transparent
|
|
776
|
+
);
|
|
777
|
+
background-image: -ms-linear-gradient(
|
|
778
|
+
135deg,
|
|
779
|
+
rgba(255, 255, 255, .4) 27%, transparent 27%,
|
|
780
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
781
|
+
rgba(255, 255, 255, .4) 77%, transparent 77%,
|
|
782
|
+
transparent
|
|
783
|
+
);
|
|
784
|
+
background-image: -o-linear-gradient(
|
|
785
|
+
135deg,
|
|
786
|
+
rgba(255, 255, 255, .4) 27%, transparent 27%,
|
|
787
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
788
|
+
rgba(255, 255, 255, .4) 77%, transparent 77%,
|
|
789
|
+
transparent
|
|
790
|
+
);
|
|
791
|
+
background-image: linear-gradient(
|
|
792
|
+
135deg,
|
|
793
|
+
rgba(255, 255, 255, .4) 27%, transparent 27%,
|
|
794
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
795
|
+
rgba(255, 255, 255, .4) 77%, transparent 77%,
|
|
796
|
+
transparent
|
|
797
|
+
);
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
.markdown-body .progress-100plus .progress-bar {
|
|
801
|
+
background-color: #a6d796;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
.markdown-body .progress-80plus .progress-bar {
|
|
805
|
+
background-color: #c6d796;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
.markdown-body .progress-60plus .progress-bar {
|
|
809
|
+
background-color: #d7c896;
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
.markdown-body .progress-40plus .progress-bar {
|
|
813
|
+
background-color: #d7a796;
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
.markdown-body .progress-20plus .progress-bar {
|
|
817
|
+
background-color: #d796a6;
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
.markdown-body .progress-0plus .progress-bar {
|
|
821
|
+
background-color: #c25f77;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
.markdown-body .candystripe-animate .progress-bar{
|
|
825
|
+
-webkit-animation: animate-stripes 3s linear infinite;
|
|
826
|
+
-moz-animation: animate-stripes 3s linear infinite;
|
|
827
|
+
animation: animate-stripes 3s linear infinite;
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
@-webkit-keyframes animate-stripes {
|
|
831
|
+
0% {
|
|
832
|
+
background-position: 0 0;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
100% {
|
|
836
|
+
background-position: 60px 0;
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
@-moz-keyframes animate-stripes {
|
|
841
|
+
0% {
|
|
842
|
+
background-position: 0 0;
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
100% {
|
|
846
|
+
background-position: 60px 0;
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
@keyframes animate-stripes {
|
|
851
|
+
0% {
|
|
852
|
+
background-position: 0 0;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
100% {
|
|
856
|
+
background-position: 60px 0;
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
.markdown-body .gloss .progress-bar {
|
|
861
|
+
box-shadow:
|
|
862
|
+
inset 0 4px 12px rgba(255, 255, 255, .7),
|
|
863
|
+
inset 0 -12px 0 rgba(0, 0, 0, .05);
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
/* Multimarkdown Critic Blocks */
|
|
867
|
+
.markdown-body .critic_mark {
|
|
868
|
+
background: #ff0;
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
.markdown-body .critic_delete {
|
|
872
|
+
color: #c82829;
|
|
873
|
+
text-decoration: line-through;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
.markdown-body .critic_insert {
|
|
877
|
+
color: #718c00 ;
|
|
878
|
+
text-decoration: underline;
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
.markdown-body .critic_comment {
|
|
882
|
+
color: #8e908c;
|
|
883
|
+
font-style: italic;
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
.markdown-body .headeranchor {
|
|
887
|
+
font: normal normal 16px octicons-anchor;
|
|
888
|
+
line-height: 1;
|
|
889
|
+
display: inline-block;
|
|
890
|
+
text-decoration: none;
|
|
891
|
+
-webkit-font-smoothing: antialiased;
|
|
892
|
+
-moz-osx-font-smoothing: grayscale;
|
|
893
|
+
-webkit-user-select: none;
|
|
894
|
+
-moz-user-select: none;
|
|
895
|
+
-ms-user-select: none;
|
|
896
|
+
user-select: none;
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
.headeranchor:before {
|
|
900
|
+
content: '\f05c';
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
.markdown-body .task-list-item {
|
|
904
|
+
list-style-type: none;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
.markdown-body .task-list-item+.task-list-item {
|
|
908
|
+
margin-top: 3px;
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
.markdown-body .task-list-item input {
|
|
912
|
+
margin: 0 4px 0.25em -20px;
|
|
913
|
+
vertical-align: middle;
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
/* Media */
|
|
917
|
+
@media only screen and (min-width: 480px) {
|
|
918
|
+
.markdown-body {
|
|
919
|
+
font-size:14px;
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
@media only screen and (min-width: 768px) {
|
|
924
|
+
.markdown-body {
|
|
925
|
+
font-size:16px;
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
@media print {
|
|
930
|
+
.markdown-body * {
|
|
931
|
+
background: transparent !important;
|
|
932
|
+
color: black !important;
|
|
933
|
+
filter:none !important;
|
|
934
|
+
-ms-filter: none !important;
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
.markdown-body {
|
|
938
|
+
font-size:12pt;
|
|
939
|
+
max-width:100%;
|
|
940
|
+
outline:none;
|
|
941
|
+
border: 0;
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
.markdown-body a,
|
|
945
|
+
.markdown-body a:visited {
|
|
946
|
+
text-decoration: underline;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
.markdown-body .headeranchor-link {
|
|
950
|
+
display: none;
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
.markdown-body a[href]:after {
|
|
954
|
+
content: " (" attr(href) ")";
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
.markdown-body abbr[title]:after {
|
|
958
|
+
content: " (" attr(title) ")";
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
.markdown-body .ir a:after,
|
|
962
|
+
.markdown-body a[href^="javascript:"]:after,
|
|
963
|
+
.markdown-body a[href^="#"]:after {
|
|
964
|
+
content: "";
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
.markdown-body pre {
|
|
968
|
+
white-space: pre;
|
|
969
|
+
white-space: pre-wrap;
|
|
970
|
+
word-wrap: break-word;
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
.markdown-body pre,
|
|
974
|
+
.markdown-body blockquote {
|
|
975
|
+
border: 1px solid #999;
|
|
976
|
+
padding-right: 1em;
|
|
977
|
+
page-break-inside: avoid;
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
.markdown-body .progress,
|
|
981
|
+
.markdown-body .progress-bar {
|
|
982
|
+
-moz-box-shadow: none;
|
|
983
|
+
-webkit-box-shadow: none;
|
|
984
|
+
box-shadow: none;
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
.markdown-body .progress {
|
|
988
|
+
border: 1px solid #ddd;
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
.markdown-body .progress-bar {
|
|
992
|
+
height: 22px;
|
|
993
|
+
border-right: 1px solid #ddd;
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
.markdown-body tr,
|
|
997
|
+
.markdown-body img {
|
|
998
|
+
page-break-inside: avoid;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
.markdown-body img {
|
|
1002
|
+
max-width: 100% !important;
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
.markdown-body p,
|
|
1006
|
+
.markdown-body h2,
|
|
1007
|
+
.markdown-body h3 {
|
|
1008
|
+
orphans: 3;
|
|
1009
|
+
widows: 3;
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
.markdown-body h2,
|
|
1013
|
+
.markdown-body h3 {
|
|
1014
|
+
page-break-after: avoid;
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
</style><title>README</title></head><body><article class="markdown-body"><h1 id="steamwebapi"><a name="user-content-steamwebapi" href="#steamwebapi" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>SteamWebApi</h1>
|
|
1018
|
+
<p>This is gem that it makes trivial to use Steam Web API. It supports all methods listed here: <a href="https://developer.valvesoftware.com/wiki/Steam_Web_API">https://developer.valvesoftware.com/wiki/Steam_Web_API</a></p>
|
|
1019
|
+
<h2 id="installation"><a name="user-content-installation" href="#installation" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Installation</h2>
|
|
1020
|
+
<p>Add this line to your application’s Gemfile:</p>
|
|
1021
|
+
<pre><code class="ruby">gem 'steam_web_api'
|
|
1022
|
+
</code></pre>
|
|
1023
|
+
|
|
1024
|
+
<p>And then execute:</p>
|
|
1025
|
+
<pre><code>$ bundle
|
|
1026
|
+
</code></pre>
|
|
1027
|
+
<p>Or install it yourself as:</p>
|
|
1028
|
+
<pre><code>$ gem install steam_web_api
|
|
1029
|
+
</code></pre>
|
|
1030
|
+
<h2 id="usage"><a name="user-content-usage" href="#usage" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Usage</h2>
|
|
1031
|
+
<h3 id="configuration"><a name="user-content-configuration" href="#configuration" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Configuration</h3>
|
|
1032
|
+
<p>Some Steam Web API methods return publicly accessible data and do not require authorization when called. Other methods may require clients to register for an API key and pass that in using the key parameter. There are also methods that return sensitive data or perform a protected action and require special access permissions. To retrieve API key for your application, you’ll need log in to your Steam account and fill <a href="http://steamcommunity.com/dev/apikey">this form</a></p>
|
|
1033
|
+
<p>When you have your API key, you can configure the gem:</p>
|
|
1034
|
+
<pre><code class="ruby"># for Rails, you can put this code in initializer: config/initializers/steam_web_api.rb
|
|
1035
|
+
SteamWebApi.configure do |config|
|
|
1036
|
+
config.steam_web_api_key = 'your api key'
|
|
1037
|
+
end
|
|
1038
|
+
</code></pre>
|
|
1039
|
+
|
|
1040
|
+
<p>This is better not to include API key as plain text in you repository. For better solution, please check <a href="https://github.com/bkeepers/dotenv">dotenv gem</a>.</p>
|
|
1041
|
+
<h3 id="player"><a name="user-content-player" href="#player" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Player</h3>
|
|
1042
|
+
<p><strong>Get list of owned games</strong> (<a href="https://developer.valvesoftware.com/wiki/Steam_Web_API#GetOwnedGames_.28v0001.29">https://developer.valvesoftware.com/wiki/Steam_Web_API#GetOwnedGames_.28v0001.29</a>). To make this API call, you need to have API key for your app and steam identifier of the Steam user.</p>
|
|
1043
|
+
<pre><code class="ruby"># player_steam_id - this is a Steam identifier for user
|
|
1044
|
+
player = SteamWebApi::Player(player_steam_id)
|
|
1045
|
+
data = player.owned_games
|
|
1046
|
+
data.count # how many games user posses (integer)
|
|
1047
|
+
data.games # list of user's games
|
|
1048
|
+
data.success # boolean value indicates if request was succesful
|
|
1049
|
+
|
|
1050
|
+
# game datails
|
|
1051
|
+
game = data.games.first
|
|
1052
|
+
game['appid'] # identifier for game (integer)
|
|
1053
|
+
game['playtime_forever'] # total playtime for game (integer)
|
|
1054
|
+
|
|
1055
|
+
# additional options
|
|
1056
|
+
# 1. include_played_free_games - include free games in results
|
|
1057
|
+
# 2. include_appinfo - include game name and logo information in the output. The default is to return appids only.
|
|
1058
|
+
data = player.owned_games(include_played_free_games: true, include_appinfo: true)
|
|
1059
|
+
|
|
1060
|
+
# if include_appinfo is set to true
|
|
1061
|
+
game = data.games.first
|
|
1062
|
+
game['name'] # game's name
|
|
1063
|
+
game['playtime_2weeks'] # total number of minutes played in the last 2 weeks
|
|
1064
|
+
game['img_icon_url'] # filename of game's icon
|
|
1065
|
+
game['img_logo_url'] # filename of game logo
|
|
1066
|
+
game['has_community_visible_stats'] # indicates there is a stats page with achievements or other game stats available for this game
|
|
1067
|
+
</code></pre>
|
|
1068
|
+
|
|
1069
|
+
<p><strong>Get user stats for game</strong> (<a href="https://developer.valvesoftware.com/wiki/Steam_Web_API#GetUserStatsForGame_.28v0002.29">https://developer.valvesoftware.com/wiki/Steam_Web_API#GetUserStatsForGame_.28v0002.29</a>). To make this API call, you need to have API key for your app and steam identifier of the Steam user.</p>
|
|
1070
|
+
<pre><code class="ruby">player = SteamWebApi::Player(player_steam_id)
|
|
1071
|
+
data = player.stats_for_game(game_id)
|
|
1072
|
+
|
|
1073
|
+
data.steam_id # user steam identifier
|
|
1074
|
+
data.game_name # game name
|
|
1075
|
+
data.achievements # list of achievements
|
|
1076
|
+
data.stats # list of stats
|
|
1077
|
+
data.success # boolean value indicates if request was succesful. If false, probably the game doesn't have stats and Steam returns 400 status
|
|
1078
|
+
|
|
1079
|
+
achievement = data.achievements.first
|
|
1080
|
+
achievement['name'] # achievement identifier
|
|
1081
|
+
achievement['achieved'] # integer (0 or 1)
|
|
1082
|
+
|
|
1083
|
+
stat = data.stats.first
|
|
1084
|
+
stat['name']
|
|
1085
|
+
stat['value'] # integer
|
|
1086
|
+
</code></pre>
|
|
1087
|
+
|
|
1088
|
+
<p><strong>Get user achievements for game</strong> (<a href="https://developer.valvesoftware.com/wiki/Steam_Web_API#GetPlayerAchievements_.28v0001.29">https://developer.valvesoftware.com/wiki/Steam_Web_API#GetPlayerAchievements_.28v0001.29</a>). To make this API call, you need to have API key for your app and steam identifier of the Steam user.</p>
|
|
1089
|
+
<pre><code class="ruby">player = SteamWebApi::Player(player_steam_id)
|
|
1090
|
+
data = player.achievements(game_id)
|
|
1091
|
+
|
|
1092
|
+
data.steam_id # user steam identifier
|
|
1093
|
+
data.game_name # game name
|
|
1094
|
+
data.achievements # list of achievements
|
|
1095
|
+
data.success # boolean value indicates if request was succesful. If false, probably the game doesn't have stats and Steam returns 400 status
|
|
1096
|
+
|
|
1097
|
+
achievement = data.achievements.first
|
|
1098
|
+
achievement['apiname'] # achievement name
|
|
1099
|
+
achievement['achieved'] # integer (0 or 1)
|
|
1100
|
+
|
|
1101
|
+
# additional options
|
|
1102
|
+
# 1. l - Language. If specified, it will return language data (name, description) for the requested language.
|
|
1103
|
+
data = player.achievements(game_id, l: 'en')
|
|
1104
|
+
achievement = data.achievements.first
|
|
1105
|
+
achievement['name'] # achievement name
|
|
1106
|
+
achievement['description'] # achievement description
|
|
1107
|
+
</code></pre>
|
|
1108
|
+
|
|
1109
|
+
<h3 id="game"><a name="user-content-game" href="#game" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Game</h3>
|
|
1110
|
+
<p><strong>Get list of all games</strong> (this end-point is not described in official documentation)</p>
|
|
1111
|
+
<pre><code class="ruby">games = SteamWebApi::Game.all
|
|
1112
|
+
</code></pre>
|
|
1113
|
+
|
|
1114
|
+
<p><strong>Get game schema</strong> (<a href="https://developer.valvesoftware.com/wiki/Steam_Web_API#GetSchemaForGame_.28v2.29">https://developer.valvesoftware.com/wiki/Steam_Web_API#GetSchemaForGame_.28v2.29</a>). To make this API call, you need to have API key for your app.</p>
|
|
1115
|
+
<pre><code class="ruby">game = SteamWebApi::Game(game_id)
|
|
1116
|
+
schema = game.schema
|
|
1117
|
+
|
|
1118
|
+
schema.name # game name
|
|
1119
|
+
schema.version # game version
|
|
1120
|
+
schema.achievements # lists of achievements
|
|
1121
|
+
schema.stats # list of stats
|
|
1122
|
+
|
|
1123
|
+
achievement = schema.achievements.first
|
|
1124
|
+
achievement['']
|
|
1125
|
+
</code></pre>
|
|
1126
|
+
|
|
1127
|
+
<h2 id="contributing"><a name="user-content-contributing" href="#contributing" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Contributing</h2>
|
|
1128
|
+
<ol>
|
|
1129
|
+
<li>Fork it ( <a href="https://github.com/">https://github.com/</a>[my-github-username]/steam_web_api/fork )</li>
|
|
1130
|
+
<li>Create your feature branch (<code>git checkout -b my-new-feature</code>)</li>
|
|
1131
|
+
<li>Commit your changes (<code>git commit -am 'Add some feature'</code>)</li>
|
|
1132
|
+
<li>Push to the branch (<code>git push origin my-new-feature</code>)</li>
|
|
1133
|
+
<li>Create a new Pull Request</li>
|
|
1134
|
+
</ol></article></body></html>
|