· 5 years ago · Mar 14, 2020, 06:00 PM
1import requests
2import datetime
3
4class MarketCSGOAPI:
5
6 secret_key = ''
7
8 errorAnswer = {'success':False}
9
10 def __init__(self, secret_key):
11 self.secret_key = secret_key
12
13 def getJSON(self, URL):
14 try:
15 resp = requests.get(URL).json()
16 return resp
17 except:
18 return self.errorAnswer
19 def sendRequest(self,URL,data):
20 try:
21 resp = requests.post(URL, data)
22 return resp.json()
23 except:
24 return self.errorAnswer
25 def getPrices(self,currency):
26 try:
27 resp = self.getJSON(f'https://market.dota2.net/api/v2/prices/{currency}.json')
28 except:
29 return self.errorAnswer
30 def addToSale(self,id,price,currency):
31 try:
32 resp = self.getJSON(f'https://market.dota2.net/api/v2/add-to-sale?key={self.secret_key}&id={str(id)}&price={str(price)}&cur={currency}')
33 return resp
34 except:
35 return self.errorAnswer
36 def setPrice(self,item_id,price,currency):
37 try:
38 resp = self.getJSON(f'https://market.dota2.net/api/v2/set-price?key={self.secret_key}&item_id={str(item_id)}&price={str(price)}&cur={currency}')
39 return resp
40 except:
41 return self.errorAnswer
42 def removeAllFromSale(self):
43 try:
44 resp = self.getJSON(f'https://market.dota2.net/api/v2/remove-all-from-sale?key={self.secret_key}')
45 return resp
46 except:
47 return self.errorAnswer
48 def myInventory(self):
49 try:
50 resp = self.getJSON(f'https://market.dota2.net/api/v2/my-inventory/?key={self.secret_key}')
51 return resp
52 except:
53 return self.errorAnswer
54 def items(self):
55 try:
56 resp = self.getJSON(f'https://market.dota2.net/api/v2/items?key={self.secret_key}')
57 return resp
58 except:
59 return self.errorAnswer
60 def ping(self):
61 try:
62 resp = self.getJSON(f'https://market.dota2.net/api/v2/ping?key={self.secret_key}')
63 return resp
64 except:
65 return self.errorAnswer
66 def tradeRequestTake(self):
67 try:
68 resp = self.getJSON(f'https://market.dota2.net/api/v2/trade-request-take?key={self.secret_key}')
69 return resp
70 except:
71 return self.errorAnswer
72 def tradeRequestGive(self):
73 try:
74 resp =self.getJSON(f'https://market.dota2.net/api/v2/trade-request-give?key={self.secret_key}')
75 return resp
76 except:
77 return self.errorAnswer
78 def tradeRequestGiveP2p(self):
79 try:
80 resp = self.getJSON(f'https://market.dota2.net/api/v2/trade-request-give-p2p?key={self.secret_key}')
81 return resp
82 except:
83 return self.errorAnswer
84 def tradeRequestGiveP2pAll(self):
85 try:
86 resp = self.getJSON(f'https://market.dota2.net/api/v2/trade-request-give-p2p-all?key={self.secret_key}')
87 return resp
88 except:
89 return self.errorAnswer
90 def trades(self,extended):
91 try:
92 if extended == 0:
93 resp = self.getJSON(f'https://market.dota2.net/api/v2/trades/?key={self.secret_key}')
94 return resp
95 else:
96 resp = self.getJSON(f'https://market.dota2.net/api/v2/trades/?key={self.secret_key}&extended=1')
97 return resp
98 except:
99 return self.errorAnswer
100 def trades(self):
101 try:
102 resp = self.getJSON(f'https://market.dota2.net/api/v2/trades/?key={self.secret_key}')
103 return resp
104 except:
105 return self.errorAnswer
106 def buy(self, market_hash_name,price):
107 try:
108 resp = self.getJSON(f'https://market.dota2.net/api/v2/buy?key={self.secret_key}&hash_name={market_hash_name}&price={price}')
109 return resp
110 except:
111 return self.errorAnswer
112 def buy(self, id,price):
113 try:
114 resp = self.getJSON(f'https://market.dota2.net/api/v2/buy?key={self.secret_key}&hash_name={id}&price={price}')
115 return resp
116 except:
117 return self.errorAnswer
118 def buyFor(self, market_hash_name, price, partner, token):
119 try:
120 resp = self.getJSON(f'https://market.dota2.net/api/v2/buy-for?key={self.secret_key}&hash_name={market_hash_name}&price={price}&partner={partner}&token={token}')
121 return resp
122 except:
123 return self.errorAnswer
124 def buyFor(self, id, price, partner, token):
125 try:
126 resp = self.getJSON(f'https://market.dota2.net/api/v2/buy-for?key={self.secret_key}&hash_name={id}&price={price}&partner={partner}&token={token}')
127 return resp
128 except:
129 return self.errorAnswer
130 def getBuyInfoByCustomID(self,custom_id):
131 try:
132 resp = self.getJSON(f'https://market.dota2.net/api/v2/get-buy-info-by-custom-id?key={self.secret_key}&custom_id={custom_id}')
133 except:
134 return self.errorAnswer
135 def getListBuyInfoByCustomID(self, custom_id1, custom_id2):
136 try:
137 resp = self.getJSON(f'https://market.dota2.net/api/v2/get-list-buy-info-by-custom-id?key={self.secret_key}&custom_id[]={custom_id1}&custom_id[]={custom_id2}')
138 return resp
139 except:
140 return self.errorAnswer
141 def history(self, date,date_end):
142 try:
143 resp = self.getJSON(f'https://market.dota2.net/api/v2/history?key={self.secret_key}&date={date}&date_end={date_end}')
144 return resp
145 except:
146 return self.errorAnswer
147 def history(self, date):
148 try:
149 resp = self.getJSON(f'https://market.dota2.net/api/v2/history?key={self.secret_key}&date={date}')
150 return resp
151 except:
152 return self.errorAnswer
153 def test(self):
154 try:
155 resp = self.getJSON(f'https://market.dota2.net/api/v2/test?key={self.secret_key}')
156 return resp
157 except:
158 return self.errorAnswer
159 def getListItemsInfo(self, market_hash_name):
160 try:
161 resp = self.getJSON(f'https://market.dota2.net/api/v2/get-list-items-info?key={self.secret_key}&list_hash_name[]={market_hash_name}')
162 return resp
163 except:
164 return self.errorAnswer
165 def getMoney(self):
166 try:
167 resp = self.getJSON(f'https://market.dota2.net/api/v2/get-money?key={self.secret_key}')
168 return resp
169 except:
170 return self.errorAnswer
171 def goOffline(self):
172 try:
173 resp = self.getJSON(f'https://market.dota2.net/api/v2/go-offline?key={self.secret_key}')
174 return resp
175 except:
176 return self.errorAnswer
177 def updateInventory(self):
178 try:
179 resp = self.getJSON(f'https://market.dota2.net/api/v2/update-inventory/?key={self.secret_key}')
180 return resp
181 except:
182 return self.errorAnswer
183 def transferDiscounts(self,his_secret_key):
184 try:
185 resp = self.getJSON(f'https://market.dota2.net/api/v2/transfer-discounts?key={self.secret_key}&to={his_secret_key}')
186 return resp
187 except:
188 return self.errorAnswer
189 def getMySteamID(self):
190 try:
191 resp = self.getJSON(f'https://market.dota2.net/api/v2/get-my-steam-id?key={self.secret_key}')
192 return resp
193 except:
194 return self.errorAnswer
195 def searchItemByHashName(self,market_hash_name):
196 try:
197 resp = self.getJSON(f'https://market.dota2.net/api/v2/search-item-by-hash-name?key={self.secret_key}&hash_name={market_hash_name}')
198 return resp
199 except:
200 return self.errorAnswer
201 def searchItemByHashNameSpecific(self,market_hash_name):
202 try:
203 resp = self.getJSON(f'https://market.dota2.net/api/v2/search-item-by-hash-name-specific?key={self.secret_key}&hash_name={market_hash_name}')
204 return resp
205 except:
206 return self.errorAnswer
207 def searchItemByHashNameAll(self,market_hash_name):
208 try:
209 resp = self.getJSON(f'https://market.dota2.net/api/v2/search-item-by-hash-name-all?key={self.secret_key}&list_hash_name[]={market_hash_name}')
210 return resp
211 except:
212 return self.errorAnswer
213 def sortItemsByStatus(self,statusCode):
214 try:
215 resp = self.items()
216 itemList = list()
217 if resp['succes'] == 'true' or resp['succes'] == True:
218 for i in resp['items']:
219 item_status = resp['status']
220 if item_status == statusCode:
221 itemList.append(f"{i['market_hash_name']}:{i['item_id']}")
222 return itemList
223 except:
224 return 0
225 def checkPriceByName(self, name):
226 try:
227 resp = tm.searchItemByHashName(name)
228 price = 0
229 if resp['success'] == True:
230 for i in resp['data']:
231 price = i['data']
232 break
233 return price
234 else:
235 print(self.time(), 'Ошибка при получении цены!')
236 except:
237 return self.errorAnswer
238 def time(self):
239 return datetime.datetime.now().strftime('[%H:%M:%S] ')