module ConfirmationCommands
Public Instance Methods
confirm_all()
click to toggle source
# File lib/Confirmation.rb, line 16 def confirm_all() send_array_confirmation(get_confirmations()) end
send_trade_allow_request(trade_id)
click to toggle source
# File lib/Confirmation.rb, line 10 def send_trade_allow_request(trade_id) ###FIRST confirmations = get_confirmations() ###second confirmationhash = select_trade_offer_confirmation(trade_id, confirmations) #seventh send_confirmation(confirmationhash) #tenth end
Private Instance Methods
create_confirmation_params(tag_string)
click to toggle source
# File lib/Confirmation.rb, line 34 def create_confirmation_params(tag_string) #FOURTH FINISHED timestamp = Time.new.to_i confirmation_key = generate_confirmation_key(tag_string,timestamp) # FIFTH other FILE FINISHED android_id = generate_device_id() # SIXTH other FILE FINISHED res = { 'p' => android_id, 'a' => @steamid, 'k' => confirmation_key, 't' => timestamp, 'm' => 'android', 'tag' => tag_string } return res end
fetch_confirmation_details_page(hash)
click to toggle source
# File lib/Confirmation.rb, line 78 def fetch_confirmation_details_page(hash) ##eigth var = hash['id'] tag = 'details' + var params = create_confirmation_params(tag) ## EXISTS response = @session.get("https://steamcommunity.com/mobileconf/details/#{var}", params) return JSON.parse(response.content)["html"] end
fetch_confirmations_page()
click to toggle source
# File lib/Confirmation.rb, line 49 def fetch_confirmations_page() ## THIRD FINISHED tag = 'conf' params = create_confirmation_params(tag) ## FOURTH FIISHED headers = {'X-Requested-With' => 'com.valvesoftware.android.steam.community'} no = nil response = @session.get('https://steamcommunity.com/mobileconf/conf', params, no, headers) html = response.content if html.include?('Steam Guard Mobile Authenticator is providing incorrect Steam Guard codes.') raise("identity secret: #{@identity_secret} is incorrect") end return html end
get_confirmation_trade_offer_id(html)
click to toggle source
# File lib/Confirmation.rb, line 86 def get_confirmation_trade_offer_id(html) ## nineth full_offer_id = Nokogiri::HTML(html).css('.tradeoffer')[0]['id'] return full_offer_id.split('_', 2)[1] end
get_confirmations()
click to toggle source
# File lib/Confirmation.rb, line 20 def get_confirmations() ##SECOND confirmations = [] confirmations_page = fetch_confirmations_page() Nokogiri::HTML(confirmations_page).css('#mobileconf_list').css('.mobileconf_list_entry').each { |trade| add = { 'id' => trade['id'].sub('conf', ''), 'data_confid' => trade['data-confid'], 'data_key' => trade['data-key'] } confirmations << add } return confirmations end
select_trade_offer_confirmation(trade_id, confirmations)
click to toggle source
# File lib/Confirmation.rb, line 66 def select_trade_offer_confirmation(trade_id, confirmations) ## seventh confirmations.each { |confirmhash| confirmation_details_page = fetch_confirmation_details_page(confirmhash) ## eighteth confirm_id = get_confirmation_trade_offer_id(confirmation_details_page) ## nineth if confirm_id == trade_id return confirmhash end } raise("Could not find the offer to confirm") end
send_array_confirmation(conf_array)
click to toggle source
# File lib/Confirmation.rb, line 108 def send_array_confirmation(conf_array) i = 0 conf_array.each { |confirmationhash| begin tag = 'allow' params = create_confirmation_params('conf') ## EXISTS params['op'] = tag params['cid'] = confirmationhash["data_confid"] params['ck'] = confirmationhash["data_key"] headers = {'X-Requested-With' => 'XMLHttpRequest'} #@session.pre_connect_hooks << lambda do |agent, request| # request['X-Requested-With'] = 'XMLHttpRequest' #end no = nil page = @session.get('https://steamcommunity.com/mobileconf/ajaxop', params,no ,headers) i = i + 1 puts "confirmed #{i} / #{cof_array.length}" rescue sleep(2) end } end
send_confirmation(confirmationhash)
click to toggle source
# File lib/Confirmation.rb, line 91 def send_confirmation(confirmationhash) ## tenth tag = 'allow' params = create_confirmation_params('conf') ## EXISTS params['op'] = tag params['cid'] = confirmationhash["data_confid"] params['ck'] = confirmationhash["data_key"] headers = {'X-Requested-With' => 'XMLHttpRequest'} #@session.pre_connect_hooks << lambda do |agent, request| # request['X-Requested-With'] = 'XMLHttpRequest' #end no = nil page = @session.get('https://steamcommunity.com/mobileconf/ajaxop', params,no ,headers) return JSON.parse(page.content) end