Страницы

Поиск по вопросам

Показаны сообщения с ярлыком steam-web-api. Показать все сообщения
Показаны сообщения с ярлыком steam-web-api. Показать все сообщения

воскресенье, 8 марта 2020 г.

Steam Trade Bot on java

#java #steam_web_api #steam


Здравствуйте!

Подскажите как реализовать steam trade bot на java, который будет обмениваться вещами
с клиентами на сайте? Посоветуйте какую библиотеку использовать? 

Читал доки steam web api и насколько понял что надо использовать технологию openid.
но на этом осознания решения задачи заканчиваются) возможно я что то упускаю...

Нашел решения на php, js, c# но по java  нашел только устаревшие реализации которые
не работают. 
    


Ответы

Ответ 1



Есть Java обертка над С++ API для Steam - SteamWorks4J Автор говорит, что не все функции API работают, но обещает добавлять, если подвешивать ему issue

пятница, 7 февраля 2020 г.

CS:GO получить сылку на файл .dem

#php #nodejs #steam_web_api


Нужно получить ссылку файл в формате .dem по коду демо (как пример код CSGO-OyjY3-pPKCF-cmpHJ-wdohh-CY5dK) 

Нужная ссылка выглядит так http://replay124.valve.net/730/003072985384448163905_0699089210.dem.bz2
, но как по коду  демо получить значения:


003072985384448163905
0699089210
124


Хотелось бы сделать на PHP но можно и на NodeJS, но не нашёл ничего на эту тему в
интернете.

Up:
 В самой игре демо можно скачать по внутреней консоли игры командой csgo_download_match
код демо например csgo_download_match CSGO-pj5MV-zyzpa-PaHVb-tFUwV-HGXbD, но всеравно
как оно расшифровывет в ссылку остаётся загадкой
    


Ответы

Ответ 1



Ваша проблема уже решена, более того, есть библиотека для nodejs https://www.npmjs.com/package/csgo А вот и код, который расшифровывает ваш код: var scDecoder = new csgo.SharecodeDecoder("CSGO-U6MWi-hYFWJ-opPwD-JciHm-qOijD"); console.log(scDecoder.decode()); В репе есть более полный пример, используйте его. -- Внутриигровой загрузчик использует функцию CMsgGCCStrike15_v2_MatchListRequestFullGameInfo из внутренней библиотеки NetHook2.dll UPD: Вот метод,который использует эти функции, даже называется также https://github.com/joshuaferrara/node-csgo/blob/master/handlers/match.js#L77

Ответ 2



Можно поглядеть тут (c#) Функция generatematchlist https://github.com/akiver/CSGO-Demos-Manager/blob/04b44968a4d3c70664e1b3c85c93f5e68ca9a5d2/src/ViewModel/HomeViewModel.cs

Ответ 3



Ну кто так задаёт вопросы?! Какую именно ссылку нужно создать? Но, если как я понимаю, нужно отдать файл по определенному запросу, то примерно так когда то давно делал. if($_GET['code'] == 'CSGO-OyjY3-pPKCF-cmpHJ-wdohh-CY5dK') { Header("HTTP/1.1 200 OK"); Header("Connection: close"); Header("Content-Type: application/pdf"); Header("Accept-Ranges: bytes"); Header("Content-Disposition: Attachment; filename=new_filename.pdf"); Header("Content-Length: 50000"); readfile('test_file.pdf'); }

пятница, 10 января 2020 г.

Получить и принять «trade offers» (Steam Web API)

#php #steam_web_api #steam


Здравствуйте. Только начал изучать Steam Web API, информации мало.

Хотел узнать, как с его помощью получить входящие предложения обмена и принять их?
Вот есть статья Steam Web API/IEconService, но мне самому в ней разобраться сложно.
    


Ответы

Ответ 1



Данная API не предоставляет возможность принятия входящего предложения обмена. С помощью нее можно лишь получить список предложений, отменить собственные, либо дать отказ на входящие. При этом она работает только для аккаунта, на который у тебя зарегистрирована API естественно. Пример запроса для получения списка предложений: http://api.steampowered.com/IEconService/GetTradeOffers/v1/?key=********&get_sent_offers=1&time_historical_cutoff=100 Подставляешь нужные тебе параметры, что описаны в мануале, и api ключ в место звездочек

Ответ 2



$url = 'https://steamcommunity.com/tradeoffer/' . $tradeID . '/accept'; $partnerID = ''; $tradeID = ''; $data = array( 'sessionid' => $sessionId, 'serverid' => '1', 'partner' => $partnerID, 'tradeofferid' => tradeID, 'captcha' => '' ); $c = curl_init(); curl_setopt($c, CURLOPT_HEADER, false); curl_setopt($c, CURLOPT_NOBODY, false); curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)"); curl_setopt($c, CURLOPT_COOKIE, $cookies); curl_setopt($c, CURLOPT_POST, 1); curl_setopt($c, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); curl_setopt($c, CURLOPT_HTTPHEADER, array('Referer: https://steamcommunity.com/tradeoffer/' . $tradeID)); curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($c, CURLOPT_CUSTOMREQUEST, strtoupper('POST')); $response = curl_exec($c); curl_close($c); echo $response; $TradeID можно найти отправив Get запрос на http://api.steampowered.com/IEconService/GetTradeOffers/v1/?key=[API_KEY]&get_received_offers=1&time_historical_cutoff=100 ; $sessionID и $cookies берем из авторизации.

Ответ 3



Данная API позволяет Вам получить трейд-оффера, как и их id-шники. Собсна принять их можно простым Post-запросом на https://steamcommunity.com/tradeoffer/"tradeId"/accept где tradeId - собственно, ID оффера. В шапке отправки нужно указать: {"sessionid", ...}, {"serverid", ...}, {"tradeofferid", ...}, {"partner", ...}, {"captcha", ...} Первые два параметры должны храниться в контейнере, который собирается при авторизации. Третий и четвертый параметры, будут получены через предложенный вами API, а Капча, по умолчанию, string.empty

суббота, 4 января 2020 г.

Steam Trade Offer как послать запрос и получить информацию, принял ли его человек

#php #python #steam_web_api #steam


День добрый господа. Делаю трейд бота для Steam. Задача такая - послать запрос человеку
на обмен и удостовериться, что он его принял. Если можно пример на PHP/Python сделать,
буду очень благодарен. Заранее спасибо!
    


Ответы

Ответ 1



Для этого вам нужно будет отслеживать ваши запросы и иногда просматривать их статус. Библиотека на PHP для Steam можно найти тут. Как пример - сохраняете все запросы в файл, и затем каждые X минут делаете запрос статуса по этим запросам, обновляя их и реагируя на принятие предложения.

среда, 10 апреля 2019 г.

CS:GO получить сылку на файл .dem

Нужно получить ссылку файл в формате .dem по коду демо (как пример код CSGO-OyjY3-pPKCF-cmpHJ-wdohh-CY5dK)
Нужная ссылка выглядит так http://replay124.valve.net/730/003072985384448163905_0699089210.dem.bz2 , но как по коду демо получить значения:
003072985384448163905 0699089210 124
Хотелось бы сделать на PHP но можно и на NodeJS, но не нашёл ничего на эту тему в интернете.
Up: В самой игре демо можно скачать по внутреней консоли игры командой csgo_download_match код демо например csgo_download_match CSGO-pj5MV-zyzpa-PaHVb-tFUwV-HGXbD, но всеравно как оно расшифровывет в ссылку остаётся загадкой


Ответ

Ваша проблема уже решена, более того, есть библиотека для nodejs https://www.npmjs.com/package/csgo А вот и код, который расшифровывает ваш код:
var scDecoder = new csgo.SharecodeDecoder("CSGO-U6MWi-hYFWJ-opPwD-JciHm-qOijD"); console.log(scDecoder.decode());
В репе есть более полный пример, используйте его.
--
Внутриигровой загрузчик использует функцию CMsgGCCStrike15_v2_MatchListRequestFullGameInfo из внутренней библиотеки NetHook2.dll
UPD: Вот метод,который использует эти функции, даже называется также https://github.com/joshuaferrara/node-csgo/blob/master/handlers/match.js#L77

понедельник, 28 января 2019 г.

Steam Trade Offer как послать запрос и получить информацию, принял ли его человек

День добрый господа. Делаю трейд бота для Steam. Задача такая - послать запрос человеку на обмен и удостовериться, что он его принял. Если можно пример на PHP/Python сделать, буду очень благодарен. Заранее спасибо!


Ответ

Для этого вам нужно будет отслеживать ваши запросы и иногда просматривать их статус. Библиотека на PHP для Steam можно найти тут. Как пример - сохраняете все запросы в файл, и затем каждые X минут делаете запрос статуса по этим запросам, обновляя их и реагируя на принятие предложения.