Пишем своего трейдбота для Steam

Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2017
Сообщения
616
Реакции[?]
430
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну что ребятки, всем привет?) В этой статье я вам расскажу как написать своего простенького бота который будет принимать все донат-трейды и отклонять трейды которые у нас что либо забирают, желательно знать JS или любой другой ЯП для понимания того что вообще происходит тут.

Что нам понадобится:
1) Знания основ JS
2) Прямые руки
3) Установленный Node.JS на ПК
4) Текстовый редактор. (Я буду юзать Sublime Text 3, но подойдёт любой другой)
5) Данные от аккаунта Steam (login, password, shared_key, secret_key)

Mini-WIKI:
1) Выучить JS вы можете
Пожалуйста, авторизуйтесь для просмотра ссылки.
(текст) или
Пожалуйста, авторизуйтесь для просмотра ссылки.
(видео)
2) -
3) Скачать Node вы можете по это ссылке:
Пожалуйста, авторизуйтесь для просмотра ссылки.

4) Текстовый редактор советую ставить либо
Пожалуйста, авторизуйтесь для просмотра ссылки.
либо
Пожалуйста, авторизуйтесь для просмотра ссылки.
, т.к в них боле-менее удобно работать и весят они мало
Если у Вас Android:

1. Делайте бэкап приложения Steam любым приложением для бэкапа, я использую Ultimate Backup Lite, cкачать можно без проблем с плей маркета.

2. Лейте файлик com.valvesoftware.android.steam.community.tar.gz на комп и открывайте винраром, ну или открывайте архиватором в телефоне, я лично открыл его прям в гугл диске с мобилы, тут дело вкуса. Спойлер Кстати, можно даже не делать бэкап, а просто нажать Explore App Data и в папке files взять нужный файлик.

3. Идёте в \data\user\0\com.valvesoftware.android.steam.community\files и вытаскиваете оттуда файлик Steamguard-вашsteamid

4. Открываете файлик Steamguard-вашsteamid сублаймом или нотпадом или любым другим тектовым редактором.

5. Находите там в явном виде shared_secret и identity_secret

6. profit

Если у Вас iPhone:

1. Качайте iMazing, можно с 4pda по сылке:
Пожалуйста, авторизуйтесь для просмотра ссылки.
2. Делайте бэкап приложения Steam.

2.1 Подключаете Iphone по USB, закрываете iTunes, открываете iMazing, ждёте пока мобилка определится.

2.2 Идёте в Приложения, жмёте "Сохранить на Мас" (ну или на РС, у кого как), сохраняете в любое место файлик Steam 2.0.6.imazingapp Спойлер

3. Открываете файлик Steam 2.0.6.imazingapp (по сути это zip-архив) винраром или 7-zipом или любым архиватором...

4. Идёте в \Container\Documents\ и вытаскиваете оттуда файлик Steamguard-вашsteamid

5. Открываете файлик Steamguard-вашsteamid сублаймом или нотпадом или любым другим тектовым редактором.

6. Теперь самое сложное. В файлике бред отъехавшего наркомана, да еще и в одну строку. Наша задача найти там 28-значные ключи, состоящие цифр и букв латинского алфавита, и имеющие на конце знак равенства =

6.1 Если Вы всё внимательно просмотрели, то нашли три ключа, подходящих под мое описание, а нам надо всего два. Первый ключ - это 100% shared_secret, а identity_secret - скорее всего, второй, НО Сегодня мне попался файлик, в котором identity_secret оказался третьим ключом, а не вторым. Так же, на моём опыте были случаи, когда ключи имели длину 29 символов вместо 28 (не принципиально, просто будьте внимательны)

6.2 Что делать в таком случае? Используйте второй ключ и, если Вам на мобилу придет подтверждение, значит нужен все-таки третий. Используйте его в кач-ве identity_secret и бот сможет сам подтверждать обмены после перезапуска. Копируйте и шарьте эту инструкцию и чем больше - тем лучше (для того и написана), но не забывайте, что автор - я, cocaineee Чисто 1 минута гугла :)

Теперь мы полностью готовы к работе, приступаем!
Первым делом создаём папку и называем её как вам угодно, после создаём в ней 2 файла - bot.js и config.js

Теперь открываем оба файла через текстовый документ и прописываем в них файла 'use strict'
, т.к мы будем юзать его для своего бота:


Теперь в файлик бота подключаем все необходимые модули для него:


Разберём построчно всё что тут написано:
3: Подключаем файл конфига
4: Подключаем модуль для конфига
5-8: Подключение Нужных для стии-бота модулей, почитать о них можете на гите.
9-15: Объявляем переменные(Можете не вдаваться в подробности, просто знайте что так надо)

Теперь нам нужно будет как-то залогинить бота, по этому добавляем в бот.js это:


17: Объявляем константу захода.
18: Выставляем логин аккаунта таким, который указан в файле config.js, блоке steam и ячейки username.
19: Тоже самое, но с паролем.
20: Генерация SteamGuard при помощи шаред кея(twoFactorCode в config.js) для последующего входа в аккаунт.
21: Скобка приуныла };

Теперь переходим в конфиг.js и пишим следующие строки:


3: Не вдавайтесь в подробности, считайте что эта штука делает ваш конфиг.
5: Создаём блок стим для того чтобы после к нему обращаться через config.steam
6: Ячейка с логином для бота, получить данные из неё можно с помощью config.steam.username
7: Ячейка с паролем для бота, получить данные из неё можно с помощью config.steam.password
8: shared_key, получить его тоже можно через config.steam.twoFactorCode
9: identity_secret - код, с помощью которого можно принимать трейды, будет юзатся в ходе написания бота.
10: Имя бота при его запуске. Если оставить поле пустым, то имя не будет присвоено.
11: Время обновления трейдов. Советую ставить 10 сек (10000мсек), т.к если поставить меньше, то может вызвать ненужную нам нагрузку.

Теперь снова переходим в наш bot.js и начинаем дописывать его дальше:


23: Логинимся!
26: Если клиент залогинен, то выполнится следующие:
27: В консоль выведется что бот авторизовался и запускает CS:GO(Можете убрать если вам это не нужно, я делаю для примера!)
29: Бот выставляет статус "В сети" и меняет имя бота на имя бота из конфига
30: Запускается игра с ID 730(CS:GO), но можно сменить на своё или вообще убрать.
42: Выводим в консоль сообщение о том что бот запустил CSGO

Теперь дописываем функцию проверки трейдов:


38-42: Проверяем трейды и есть ли они.

Ах, да, теперь нужно написать проверку на добавление к боту друзей, поэтому дописываем это:


50-55: Если к боту кто-то добавился, то он выводит в консоль сообщение об этом. Так же можно включить "автопринятие" друзей, добавив эту строчку после 52 строчки:
client.addFriend(steamid);

Ну и самое главное - принятие трейдов! Дополняем код этими строчками:



58: Если к нам придёт трейд, то делаем следующие
59: Если в трейде у нас не забирают никакие вещи, то выполняем следующие
60-67: Принимаем трейд, но если ошибка, то выводим её в консоль, иначе пишем что трейд принят со статусом status
68-80: Иначе(Если наши вещи в трейде не равны нулю) отклоняем обмен и выводим ошибки если они есть, иначе пишем в консоль что трейд отклонён.

Собственно на этом мы закночили написание бота, приступаем к запуску!

1) Настраиваем config.js
2) Открываем cmd(командную строку)
3) Пишем cd и перетаскиваем вашу папку в консоль, после нажимаем enter
4) Прописываем следующие команды:
  1. npm install steam-user
  2. npm install steam-totp
  3. npm install steamcommunity
  4. npm install steam-tradeoffer-manager
  5. npm install config-js
5) Прописываем node bot.js и наш бот работает!


Всем большое спасибо за прочтение статьи до конца, писал 3 часа, поэтому могут быть ошибки, но в любом случае оставьте свой фидбэк, что исправить/удалить/добавить, весь код, который я использвал можно скачать по этим ссылкам:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.

Все материалы которые я использовал в данном уроке находятся в открытом доступе и вы можете их скачать.

Автор статьи - Lobadzip
 
Забаненный
Статус
Оффлайн
Регистрация
16 Июл 2017
Сообщения
485
Реакции[?]
85
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Полезные гайды, наконец-то
 
f3mb0y
Участник
Статус
Оффлайн
Регистрация
14 Фев 2017
Сообщения
625
Реакции[?]
291
Поинты[?]
1K
Я ток одного не понял, бот будет физически запускать игру (как хаурбуст)?
 
Сверху Снизу