steam-trade 0.3.1 → 0.3.2
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 +4 -4
- data/.gitignore +10 -0
- data/README.md +46 -4
- data/lib/Confirmation.rb +30 -0
- data/lib/Guard.rb +1 -0
- data/lib/Trade.rb +7 -5
- data/lib/meta/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d36bb8bbc019b319d60a959e52cefaf5c9015bcefbf2d1e8470c394e156be485
|
|
4
|
+
data.tar.gz: 70cf873bf9180da48cc2507adc3082c2b04f581fa3d8ed73a5572cd43e8c9bdf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a3a374967d43a7f287575ad94a3b237a0e8bbc470b668bbd873e12ccecc7b574c6223817e3a598d3c340436a374ee7d2eee9624f8056c9171b67e3e19350ea11
|
|
7
|
+
data.tar.gz: 23b36cc7026587dc7f2f9914d93a6f264553be741399f206681b41385520b436efa4bc11acb2b128c47bf29ac79a9f97e2c5b86b93551fe811c8e22fcfa8b087
|
data/.gitignore
ADDED
data/README.md
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
# steam-trade V0.3.
|
|
1
|
+
# steam-trade V0.3.2
|
|
2
2
|
|
|
3
3
|
**PLEASE IF SOMETHING DOES NOT WORK PROPERLY MAKE A GITHUB ISSUE**
|
|
4
4
|
|
|
5
|
-
Please check constantly for updates cause i'm still making this gem.
|
|
6
|
-
|
|
7
5
|
This gem simplifes/allows sending steam trade offers programmatically.
|
|
8
6
|
|
|
9
7
|
this gem is primarly for trading cards, tho can be used to CS:GO and other games inventories
|
|
10
8
|
|
|
11
9
|
# Changelog
|
|
12
10
|
```
|
|
11
|
+
0.3.2:
|
|
12
|
+
- added send_trade_allow_request() (mobile confirmation) and confirm_all() (mobile confirmation)
|
|
13
|
+
0.3.1:
|
|
14
|
+
- added cottage() , vote_2018() and sell_items()
|
|
15
|
+
|
|
13
16
|
0.3.0:
|
|
14
17
|
- hotfix for cookie login
|
|
15
18
|
|
|
@@ -94,6 +97,8 @@ this gem is primarly for trading cards, tho can be used to CS:GO and other games
|
|
|
94
97
|
- [set_inventory_cache()](#set_inventory_cache)
|
|
95
98
|
- [Sending a trade offer](#sending-a-trade-offer)
|
|
96
99
|
- [send_offer()](#send_offermyarraytheirarraytrade_offer_linkmessage)
|
|
100
|
+
- [send_trade_allow_request()](#send_trade_allow_requesttrade_offer_id)
|
|
101
|
+
- [confirm_all()](#confirm_all)
|
|
97
102
|
- [Handling Trade Offers](#handling-trade-offers)
|
|
98
103
|
- [set_api_key()](#set_api_keyapi_key)
|
|
99
104
|
- [get_trade_offers()](#get_trade_offerstime)
|
|
@@ -323,6 +328,8 @@ then you can send your offer
|
|
|
323
328
|
- `message` is the comment you want to include in the trade offer
|
|
324
329
|
|
|
325
330
|
- `myarray`, `theirarray`, `trade_offer_link` are required, `message` is optional
|
|
331
|
+
- **returns a hash which contains informations about the trade**
|
|
332
|
+
- **identity_secret** is required for this function to work
|
|
326
333
|
```ruby
|
|
327
334
|
require 'steam-trade'
|
|
328
335
|
|
|
@@ -336,13 +343,48 @@ myarray = [me[5] , me[20] , me[60]].compact!
|
|
|
336
343
|
theirarray = [his[1], his[20], his[30]].compact!
|
|
337
344
|
|
|
338
345
|
# if you are friends
|
|
339
|
-
account.send_offer(myarray,theirarray,"nomg3r",message)
|
|
346
|
+
resp = account.send_offer(myarray,theirarray,"nomg3r",message)
|
|
340
347
|
#or (as friends)
|
|
341
348
|
account.send_offer(myarray,theirarray,'76561198370420964',message)
|
|
342
349
|
|
|
343
350
|
# whenever
|
|
344
351
|
account.send_offer(myarray,theirarray,"https://steamcommunity.com/tradeoffer/new/?partner=410155236&token=H-yK-GFt",message)
|
|
345
352
|
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
#### `send_trade_allow_request(trade_offer_id)`
|
|
357
|
+
- `trade_offer_id` is the ID of the offer you want to confirm (mobile confirmation)
|
|
358
|
+
- **identity_secret** is required for this function to work
|
|
359
|
+
```ruby
|
|
360
|
+
require 'steam-trade'
|
|
361
|
+
|
|
362
|
+
account = Handler.new('username','password','shared_secret')
|
|
363
|
+
account.mobile_info('identity_secret')
|
|
364
|
+
|
|
365
|
+
me = account.normal_get_inventory()
|
|
366
|
+
his = account.normal_get_inventory("nomg3r")
|
|
367
|
+
|
|
368
|
+
myarray = [me[5] , me[20] , me[60]].compact!
|
|
369
|
+
theirarray = [his[1], his[20], his[30]].compact!
|
|
370
|
+
|
|
371
|
+
resp = account.send_offer(myarray,theirarray,"nomg3r",message)
|
|
372
|
+
|
|
373
|
+
account.send_trade_allow_request(resp['trade_offer_id'])
|
|
374
|
+
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
#### `confirm_all()`
|
|
378
|
+
- confirms all trades which are waiting for mobile confirmation
|
|
379
|
+
- **identity_secret** is required for this function to work
|
|
380
|
+
|
|
381
|
+
```ruby
|
|
382
|
+
require 'steam-trade'
|
|
383
|
+
|
|
384
|
+
account = Handler.new('username','password','shared_secret')
|
|
385
|
+
account.mobile_info('identity_secret')
|
|
386
|
+
|
|
387
|
+
account.confirm_all
|
|
346
388
|
```
|
|
347
389
|
## Handling Trade Offers
|
|
348
390
|
you might want to read [Steam Trading API](https://developer.valvesoftware.com/wiki/Steam_Web_API/IEconService)
|
data/lib/Confirmation.rb
CHANGED
|
@@ -13,6 +13,9 @@ module ConfirmationCommands
|
|
|
13
13
|
send_confirmation(confirmationhash) #tenth
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
+
def confirm_all()
|
|
17
|
+
send_array_confirmation(get_confirmations())
|
|
18
|
+
end
|
|
16
19
|
private
|
|
17
20
|
def get_confirmations() ##SECOND
|
|
18
21
|
confirmations = []
|
|
@@ -61,6 +64,7 @@ module ConfirmationCommands
|
|
|
61
64
|
|
|
62
65
|
|
|
63
66
|
def select_trade_offer_confirmation(trade_id, confirmations) ## seventh
|
|
67
|
+
|
|
64
68
|
confirmations.each { |confirmhash|
|
|
65
69
|
confirmation_details_page = fetch_confirmation_details_page(confirmhash) ## eighteth
|
|
66
70
|
confirm_id = get_confirmation_trade_offer_id(confirmation_details_page) ## nineth
|
|
@@ -99,4 +103,30 @@ module ConfirmationCommands
|
|
|
99
103
|
return JSON.parse(page.content)
|
|
100
104
|
end
|
|
101
105
|
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def send_array_confirmation(conf_array)
|
|
109
|
+
i = 0
|
|
110
|
+
conf_array.each { |confirmationhash|
|
|
111
|
+
begin
|
|
112
|
+
tag = 'allow'
|
|
113
|
+
params = create_confirmation_params('conf') ## EXISTS
|
|
114
|
+
params['op'] = tag
|
|
115
|
+
params['cid'] = confirmationhash["data_confid"]
|
|
116
|
+
params['ck'] = confirmationhash["data_key"]
|
|
117
|
+
headers = {'X-Requested-With' => 'XMLHttpRequest'}
|
|
118
|
+
#@session.pre_connect_hooks << lambda do |agent, request|
|
|
119
|
+
# request['X-Requested-With'] = 'XMLHttpRequest'
|
|
120
|
+
#end
|
|
121
|
+
no = nil
|
|
122
|
+
page = @session.get('https://steamcommunity.com/mobileconf/ajaxop', params,no ,headers)
|
|
123
|
+
i = i + 1
|
|
124
|
+
puts "confirmed #{i} / #{cof_array.length}"
|
|
125
|
+
rescue
|
|
126
|
+
sleep(2)
|
|
127
|
+
end
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
end
|
|
131
|
+
|
|
102
132
|
end
|
data/lib/Guard.rb
CHANGED
data/lib/Trade.rb
CHANGED
|
@@ -94,7 +94,7 @@ module TradeCommands
|
|
|
94
94
|
|
|
95
95
|
def sell_items(items, price)
|
|
96
96
|
raise "no account logged in, #{self} " if @loggedin == false
|
|
97
|
-
raise "Must given array" if items.class != Array
|
|
97
|
+
raise "Must be given an array" if items.class != Array
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
headers = {
|
|
@@ -102,17 +102,17 @@ module TradeCommands
|
|
|
102
102
|
'Referer' => 'https://steamcommunity.com/id/SimplifiedPact/inventory/',
|
|
103
103
|
'User-Agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.54',
|
|
104
104
|
}
|
|
105
|
-
|
|
105
|
+
i = 0
|
|
106
106
|
items.each { |asset|
|
|
107
107
|
|
|
108
108
|
asset['sessionid'] = sessionid_cookie()
|
|
109
109
|
asset['price'] = price
|
|
110
110
|
verd = {'sucess' => false}
|
|
111
111
|
tries = 0
|
|
112
|
-
|
|
112
|
+
|
|
113
113
|
until verd['success'] == true || tries == 2
|
|
114
|
+
puts "attempting to sell"
|
|
114
115
|
resp = @session.post('https://steamcommunity.com/market/sellitem/', asset, headers)
|
|
115
|
-
|
|
116
116
|
verd = JSON.parse(resp.content)
|
|
117
117
|
|
|
118
118
|
if verd['success'] == false
|
|
@@ -120,11 +120,13 @@ module TradeCommands
|
|
|
120
120
|
tries += 1
|
|
121
121
|
sleep(10)
|
|
122
122
|
else
|
|
123
|
+
puts verd
|
|
123
124
|
i += 1
|
|
124
125
|
puts "#{i} / #{items.length} sold"
|
|
126
|
+
sleep(1)
|
|
125
127
|
end
|
|
128
|
+
|
|
126
129
|
end
|
|
127
|
-
sleep(1)
|
|
128
130
|
}
|
|
129
131
|
end
|
|
130
132
|
|
data/lib/meta/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: steam-trade
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OmG3r
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-01-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -66,6 +66,7 @@ executables: []
|
|
|
66
66
|
extensions: []
|
|
67
67
|
extra_rdoc_files: []
|
|
68
68
|
files:
|
|
69
|
+
- ".gitignore"
|
|
69
70
|
- Gemfile
|
|
70
71
|
- LICENSE
|
|
71
72
|
- README.md
|