Expand description
§steam-rs
Safe and convenient Rust bindings for the Steam Web API.
Warning: This crate is still a work in progress. Breaking changes and instability are to be expected. Use with caution—this is not production-ready.
The core of this crate is the Steam struct, which interacts with the Steam Web API. It typically1 needs to be initialized with a valid Steam API key.
use steam_rs::Steam;
// Retrieve the Steam API key from an environment variable.
let steam_api_key = &std::env::var("STEAM_API_KEY").expect("Missing an API key");
// Initialize the Steam API client.
let steam = Steam::new(steam_api_key);Another key component of this crate is the SteamId struct. It represents a Steam user ID2, which is often used when querying user data.
§Example
Here is an example, where the Steam client requests data about two users using the .get_player_summaries(steam_ids) method:
use steam_rs::{steam_id::SteamId, Steam};
#[tokio::main]
async fn main() {
// Get the Steam API Key as an environment variable.
let steam_api_key = &std::env::var("STEAM_API_KEY").expect("Missing an API key");
// Initialize the Steam API client.
let steam = Steam::new(steam_api_key);
// Request the player summaries of SteamIDs `76561198136162943` and `76561197960435530`.
let steam_ids = vec![
SteamId::new(76561198136162943), // Garrett Howard
SteamId(76561197960435530), // Robin Walker
];
let player_summaries = steam.get_player_summaries(steam_ids).await.unwrap();
// Print the recieved information about the players.
for player in player_summaries {
println!(
"{:?}'s SteamID is {:?}",
player.persona_name, player.steam_id
)
}
}Modules§
- econ_
service - Implements the
IEconServiceinterface - errors
- Definitions for errors
- game_
servers_ service - Implements the
IGameServersServiceinterface - player_
service - Implements the
IPlayerServiceinterface - published_
file_ service - Implements the
IPublishedFileServiceinterface - site_
license_ service - Implements the
ISiteLicenseServiceinterface - steam_
apps - Implements the
ISteamAppsinterface - steam_
economy - Implements the
ISteamEconomyinterface - steam_
id - steam_
news - Implements the
ISteamNewsinterface - steam_
remote_ storage - Implements the
ISteamRemoteStorageinterface - steam_
user - Implements the
ISteamUserinterface - steam_
user_ auth - Implements the
ISteamUserAuthinterface - steam_
user_ stats - Implements the
ISteamUserStatsinterface - steam_
webapi_ util - Implements the
ISteamWebAPIUtilinterface