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
IEconService
interface - errors
- Definitions for errors
- game_
servers_ service - Implements the
IGameServersService
interface - player_
service - Implements the
IPlayerService
interface - published_
file_ service - Implements the
IPublishedFileService
interface - site_
license_ service - Implements the
ISiteLicenseService
interface - steam_
apps - Implements the
ISteamApps
interface - steam_
economy - Implements the
ISteamEconomy
interface - steam_
id - steam_
news - Implements the
ISteamNews
interface - steam_
remote_ storage - Implements the
ISteamRemoteStorage
interface - steam_
user - Implements the
ISteamUser
interface - steam_
user_ auth - Implements the
ISteamUserAuth
interface - steam_
user_ stats - Implements the
ISteamUserStats
interface - steam_
webapi_ util - Implements the
ISteamWebAPIUtil
interface