0.2.1 • Published 6 years ago

steam-api-web v0.2.1

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

steam-api-web

Build Status Coverage Status npm version GitHub license

Библиотека для работы со Steam Web API. Официальная документация:

Установка библиотеки

$ npm install steam-api-web

или

$ yarn add steam-api-web

Инициализация библиотеки

Для подключения библиотеки необходимо создать объект Steam. В качестве необязательного аргумента конструктор принимает ключ, необходимый для работы с некоторыми методами.

const Steam = require('steam-api-web');
const steam = new Steam('optional key');

API

Ниже будут рассмотрены реализованные на данный момент методы API. Все методы возвращают объекты, производные от класса Entity с двумя общими для всех объектов свойствами:

  • method - название метода;
  • url - использованный для запроса адрес.

getNewsForApp

Метод возвращает последние новости для указанного приложения.

getNewsForApp(appId[, count, maxLength])

  • appId - идентификатор приложения;
  • count - количество новостей (по-умолчанию 3);
  • maxLength - максимальная длина текста новости (по-умолчанию 300).
const Steam = require('steam-api-web');
const steam = new Steam();

steam.getNewsForApp(440, 5, 200)
    .then(result => {
        console.dir(result.news);
    })
    .catch(err => console.error(err.message));

Результат:

[{
    id: "2442505391470441728",
    title: "Team Fortress 2 Update Released",
    url: "http://store.steampowered.com/news/35528/",
    contents: "An update to Team Fortress 2 has been released. The update will be applied automatically when you restart Team Fortress 2. The major changes include: * Fixed a client crash related to viewing notifications; * Fixed being able to interrupt taunts using the ConTracker commands; * Fixed a bug with the ...",
    date: 1513213200
}]

getGlobalAchievementPercentagesForApp

Метод возвращает информацию о достижениях для указанной игры.

getGlobalAchievementPercentagesForApp(gameId)

  • gameId - идентификатор игры.
const Steam = require('steam-api-web');
const steam = new Steam();

steam.getGlobalAchievementPercentagesForApp(440)
    .then(result => {
        console.dir(result.achievements);
    })
    .catch(err => console.error(err.message));

Результат:

[{
    name: 'TF_SCOUT_LONG_DISTANCE_RUNNER',
    percent: 53.728801727294922
}]

getPlayerSummaries

Метод возвращает информацию о профиле пользователя по указанному идентификатору/идентификаторам. Для вызова метода необходим ключ Steam API Key.

getPlayerSummaries([players])

  • players - идентификатор или массив идентификаторов пользователей.
const Steam = require('steam-api-web');
const steam = new Steam('STEAM_API_KEY');

steam.getPlayerSummaries('76561198030288194')
    .then(result => {
        console.dir(result.players);
    })
    .catch(err => console.error(err.message))

Результат:

[{
    'id': '76561198030288194',
    'name': 'Atres Lesne',
    'realname': 'Vladimir',
    'url': 'http://steamcommunity.com/id/atres/',
    'avatar': {
        'small': 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/25/253e5467ec2594e27d758508cbe6f176a4f6d4c7.jpg',
        'medium': 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/25/253e5467ec2594e27d758508cbe6f176a4f6d4c7_medium.jpg',
        'full': 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/25/253e5467ec2594e27d758508cbe6f176a4f6d4c7_full.jpg'
    },
    'created': 1284103613,
    'location': {
        'country': 'RU',
        'state': '20',
        'city': 39928
    }
}]

getFriendList

Метод возвращает идентификаторы друзей указанного пользователя. Для вызова метода необходим ключ Steam API Key.

getFriendList(playerId)

  • playerId - идентификатор игрока.
const Steam = require('steam-api-web');
const steam = new Steam('STEAM_API_KEY');

steam.getFriendList('76561198030288194')
    .then(result => {
        console.dir(result.friends);
    })
    .catch(err => console.error(err.message));

Результат:

[{
    id: 'FRIEND_ID',
    since: 1312738668
}]

getPlayerAchievements

Метод возвращает информацию о достижениях игрока в указанной игре. Для вызова метода необходим ключ Steam API Key.

getPlayerAchievements(appId, playerId)

  • appid - идентификатор игры;
  • playerId - идентификатор пользователя.
const Steam = require('steam-api-web');
const steam = new Steam('STEAM_API_KEY');

steam.getPlayerAchievements(440, '76561198030288194')
    .then(result => {
        console.log(result.gameName);
        console.dir(result.achievements);
    })
    .catch(err => console.error(err.message));

Результат:

Team Fortress 2
[{
    name: 'TF_PLAY_GAME_EVERYCLASS',
    achieved: false,
    date: 0
}]

getOwnedGames

Метод возвращает информацию об играх пользователя. Для вызова метода необходим ключ Steam API Key.

getOwnedGames(playerId)

  • playerId - идентификатор пользователя.
const Steam = require('steam-api-web');
const steam = new Steam('STEAM_API_KEY');

steam.getOwnedGames('76561198030288194')
    .then(result => {
        console.dir(result.games);
    })
    .catch(err => console.error(err.message));

Результат:

[{
    id: 220,
    name: 'Half-Life 2',
    playtime: {
        'forever': 1060,
        '2weeks': 0
    },
    icon: 'http://media.steampowered.com/steamcommunity/public/images/apps/220/fcfb366051782b8ebf2aa297f3b746395858cb62.jpg',
    logo: 'http://media.steampowered.com/steamcommunity/public/images/apps/220/e4ad9cf1b7dc8475c1118625daf9abd4bdcbcad0.jpg'
}]

getSchemaForGame

Метод возвращает подробную информацию по указанной игре. Для вызова метода необходим ключ Steam API Key.

getSchemaForGame(appId[, language])

  • appId - идентификатор игры;
  • language - язык (по-умолчанию english).
const Steam = require('steam-api-web');
const steam = new Steam('STEAM_API_KEY');

steam.getSchemaForGame('305620', 'russian')
    .then(result => {
        console.log(result.gameName);
        console.log(result.gameVersion);
        console.dir(result.stats);
        console.dir(result.achievements);
    })
    .catch(err => console.error(err.message));

Результат:

The Long Dark -- Sandbox Alpha v.077
21
[{
    name: 'NumGames',
    defaultValue: 0,
    displayName: ''
}]
[{
    name: 'Survival_10_Days',
    title: 'Вы сделали это!',
    defaultValue: 0,
    hidden: 0,
    icon: 'http://cdn.akamai.steamstatic.com/steamcommunity/public/images/apps/305620/d1afe618d876c30c4c837def9f11dda38fb25007.jpg',
    iconGray: 'http://cdn.akamai.steamstatic.com/steamcommunity/public/images/apps/305620/2bdc4c397dd24691e241b53bffccb66b11282f3d.jpg'
}]