· 6 years ago · Apr 13, 2020, 11:34 AM
1from os import listdir as files
2from threading import Thread
3from json import JSONDecodeError
4from enum import Enum
5
6import requests as r
7import colorama as cl
8import time as t
9from steampy.client import SteamClient
10from steampy.exceptions import ConfirmationExpected
11
12
13
14
15
16api_key = str(input('Введите apikey tm: '))
17maFile = tuple(filter(lambda str: str.endswith('maFile'), files()))
18
19login = maFile[0].split('-')[0]
20password = maFile[0].split('-')[1][:-7]
21key = input(
22 cl.Fore.YELLOW +
23 'Введите Steam API Key: ' +
24 cl.Fore.MAGENTA
25)
26
27steam_client = ''
28t.sleep(2)
29def update():
30 while True:
31 global steam_client
32 steam_client = SteamClient(key)
33 steam_client.login(login, password, maFile[0])
34 t.sleep(2)
35
36 URL_ping = 'https://market.csgo.com/api/v2/ping?key=' + api_key
37 t.sleep(2)
38 response_ping = r.get(URL_ping).json()
39 if response_ping['success'] == True :
40 print(cl.Fore.GREEN + 'Включил продажи ')
41 print(cl.Fore.YELLOW + 'Перезапустил продажи ')
42
43 URL_get_money = 'https://market.csgo.com/api/v2/get-money?key=' + api_key
44 t.sleep(2)
45 response_get_money = r.get(URL_get_money).json()
46 print(cl.Fore.RED + '---------------------------------')
47 print(cl.Fore.RED + 'Ваш баланс ' + str(response_get_money['money']) + str(response_get_money['currency']) )
48 t.sleep(300)
49
50
51
52
53
54
55
56def mainFunc():
57 while True:
58 global steam_client
59 #узнаем какие предметы у нас выставлены на продажу и запоминаем о них информацию.
60 def rename_prices():
61 URL_rename_prices = 'https://market.csgo.com/api/v2/items?key='+ api_key
62 t.sleep(2)
63 respone_items = r.get(URL_rename_prices).json()
64
65 if respone_items['items'] == None:
66 print('Предметы не выставлены вами на продажу')
67
68 #начинается проверка на то что расположен ли ваш лот первый
69
70
71 def check_na_status2(): #пытаемся найти предмет, который у вас купили
72 URL_check_na_status2 = 'https://market.csgo.com/api/v2/items?key=' + api_key
73 t.sleep(2)
74 response_check_na_status2 = r.get(URL_check_na_status2).json()
75 print(response_check_na_status2)
76 for i in response_check_na_status2['items']:
77 if i['status'] == '2' : #если статус предмета равен 2 , значит предмет куплен и мы начинаем процесс передачи предмета,начиная с того что бы маркет отправил нам трейд.
78 URL_sent_market_trade = 'https://market.csgo.com/api/v2/trade-request-give-p2p?key=' + api_key
79 t.sleep(2)
80 response_trade_tm = r.get(URL_sent_market_trade).json() #отправляем запросс на то что бы маркет скинул нам трейд, который нам останется потвердить.
81 print(response_trade_tm)
82 if response_trade_tm['success']: #проверяем успешно ли был создан трейд и идем дальше
83 message_tm = response_trade_tm['offer']['tradeoffermessage']
84 partner_tm = response_trade_tm['offer']['partner']
85 t.sleep(2)
86 resp = r.get('http://api.steampowered.com/IEconService/GetTradeOffers/v1/?key=' + key + '&get_sent_offers=1&time_historical_cutoff=100').json()
87 for k in resp['response']['trade_offers_sent']:
88
89 if message_tm == k['message']:
90 partner = k['accountid_other']
91 message = k['message']
92 offer_id = k['tradeofferid']
93 print('Готов к потверждению обмен - offer_id')
94 t.sleep(2)
95 try:
96 steam_client._confirm_transaction(offer_id)
97 except ConfirmationExpected:
98 pass
99 t.sleep(2)
100 else:
101 t.sleep(2)
102 check_na_status2()
103 t.sleep(2)
104
105 else:
106 t.sleep(2)
107 rename_prices() #возвращаемся к методу проверка цены на 1 место, что бы опять сделать все проверки.
108 t.sleep(2)
109 rename_prices()
110 check_na_status2()
111 t.sleep(20)
112Thread(target=update).start()
113Thread(target=mainFunc).start()