diff --git a/Dockerfile b/Dockerfile index 3ff5209a48a..f0feb4348c8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,7 +20,8 @@ RUN chmod +x /metrics/source/app/action/index.mjs \ && curl -fsSL https://deno.land/x/install/install.sh | DENO_INSTALL=/usr/local sh \ # Install ruby to support github licensed gem && apt-get install -y ruby-full git g++ cmake pkg-config libssl-dev \ - && gem install licensed \ + && gem install nokogiri -v 1.17.2 \ + && gem install licensed -v 5.0.1 \ # Install python for node-gyp && apt-get install -y python3 \ # Clean apt/lists diff --git a/action.yml b/action.yml index a1c037d003f..96f84661578 100644 --- a/action.yml +++ b/action.yml @@ -1280,6 +1280,10 @@ inputs: description: Display threshold (Game playtime in hours) default: + plugin_steam_freegames: + description: Include free games + default: + # ==================================================================================== # šŸ§  16personalities diff --git a/source/plugins/steam/README.md b/source/plugins/steam/README.md index 32b33db0e40..9f112df79fc 100644 --- a/source/plugins/steam/README.md +++ b/source/plugins/steam/README.md @@ -146,6 +146,16 @@ All product and company names are trademarksā„¢ or registeredĀ® trademarks of th
default: 2
+ +

plugin_steam_freegames

+

Include free games

+ + + + type: boolean +
+default: no
+ diff --git a/source/plugins/steam/index.mjs b/source/plugins/steam/index.mjs index 33e0422bc6e..85e02dda59a 100644 --- a/source/plugins/steam/index.mjs +++ b/source/plugins/steam/index.mjs @@ -7,11 +7,11 @@ export default async function({login, q, imports, data, account}, {token, enable return null //Load inputs - let {user, sections, "games.ignored": _games_ignored, "games.limit": _games_limit, "recent.games.limit": _recent_games_limit, "achievements.limit": _achievements_limit, "playtime.threshold": _playtime_threshold} = imports.metadata.plugins.steam.inputs({data, account, q}) + let {user, sections, "games.ignored": _games_ignored, "games.limit": _games_limit, "recent.games.limit": _recent_games_limit, "achievements.limit": _achievements_limit, "playtime.threshold": _playtime_threshold, freegames} = imports.metadata.plugins.steam.inputs({data, account, q}) const urls = { games: { - owned: `https://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=${token}&steamid=${user}&format=json&include_appinfo=1`, + owned: `https://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=${token}&steamid=${user}&format=json&include_appinfo=1&include_played_free_games=${freegames ? '1' : '0'}`, schema: `https://api.steampowered.com/ISteamUserStats/GetSchemaForGame/v0002/?key=${token}&format=json`, details: "https://store.steampowered.com/api/appdetails?", }, diff --git a/source/plugins/steam/metadata.yml b/source/plugins/steam/metadata.yml index d0b51951823..f9552cbada3 100644 --- a/source/plugins/steam/metadata.yml +++ b/source/plugins/steam/metadata.yml @@ -91,3 +91,8 @@ inputs: min: 0 default: 2 + plugin_steam_freegames: + description: | + Include free games + type: boolean + default: no