steam-trade 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|