Islam
Свой Человек
- Сообщения
- 413
- Реакции
- 109
Islam
- 413
- 109
Как работать с websocket market.csgo.com?
- Ставим библиотеку ws-reconnect / npm i ws-reconnect --save
- Подключаем
Код:
import websocket from 'ws-reconnect'; -
Код:
const ws = new websocket('wss://wsn.dota2.net/wsn/'); const market_key = config.market_key; ws.start(); const GetWSAuth = () => { console.info(`Бот`, 'Попытка войти на тп'); request.post({ url: `https://market.csgo.com/api/PingPong/?key=${market_key}`, json: true }); request.post({ url: `https://market.csgo.com/api/GetWSAuth/?key=${market_key}`, json: true }, (error, response, body) => { if (body.success !== true) { console.info(`Бот`, `Ошибка! Повторяем попытку войти на тп - ${body}`, `Через 60 cекунд`); return setTimeout(() => { GetWSAuth(); }, 60 * 6000) } ws.socket.send(body.wsAuth, (err) => { if (err) { console.error(err); return setTimeout(() => { GetWSAuth(); }, 60 * 6000) } else { console.info(`Бот`, `Авторизовался на торговой площадке [websocket]`); } }); }); }; setInterval(() => { ws.socket.send('ping', (err) => { if (err) { GetWSAuth(); console.error(err); } }); }, 40 * 1000); ws.on("reconnect", () => { console.info(`Бот`, "reconnecting"); }); ws.on("connect", () => { GetWSAuth(); }); ws.on("destroyed", () => { console.info(`Бот`, "destroyed"); }); ws.on('message', (message) => { try { let { type, data } = JSON.parse(message); console.info(`Бот`, type, data); } catch (e) { console.info(`Бот`, message); } });
- additem_go - добавление предмета на странице "Мои вещи".
- itemout_new_go - Исчезание предмета на странице "Мои вещи".
- itemstatus_go - Изменение статуса предмета на странице "Мои вещи".
- money - Изменение баланса пользователя.
- webnotify - Получение уведомлений от администрации, доступности предмета для вывода, о покупках вещей.
Доступные каналы:
- newitems_go - информация об изменениях в цене или выставлении на продажу предметов CS:GO. (Осторожно, канал генерирует очень много трафика)
- history_go - история продаж которая отображается на каждой странице сайта.
Пример:
Код:
ws.socket.send('newitems_go', (err) => {
if (err) {
console.error(err);
}
});