1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// TODO: visibility audit pending — many internals are still `pub mod`; tighten to `pub(crate)` in v0.2
//! Steam Community web client for Rust.
//!
//! This crate provides HTTP-based interactions with Steam Community web
//! endpoints, including mobile confirmations, profile management, market
//! operations, and more.
//!
//! # Crate layout
//!
//! Users only need to depend on **`steam-user`**:
//!
//! ```toml
//! [dependencies]
//! steam-user = "0.1"
//! ```
//!
//! The companion crate **`steam-user-impl`** holds the `#[steam_endpoint]`
//! procedural macro and exists only because Rust requires proc-macros to live
//! in a separate crate (the same reason `serde`/`serde_derive`,
//! `tokio`/`tokio-macros`, and `thiserror`/`thiserror-impl` are split). The
//! single macro it exports is re-exported here as
//! [`endpoint::steam_endpoint`] under `#[doc(hidden)]`. **Do not depend on
//! `steam-user-impl` directly** — its API is unstable and version-locked
//! (`=X.Y.Z`) to this crate.
//!
//! # Overview
//!
//! This crate interacts with Steam via regular HTTP requests to
//! steamcommunity.com endpoints. This is useful for:
//!
//! - Managing mobile trade confirmations
//! - Two-factor authentication setup
//! - Profile editing
//! - Market and inventory operations
//! - Group management
//!
//! # Example
//!
//! ```rust,no_run
//! use steam_user::SteamUser;
//!
//! #[tokio::main]
//! async fn main() -> Result<(), steam_user::SteamUserError> {
//! let mut community = SteamUser::new(&["steamLoginSecure=...", "sessionid=..."])?;
//!
//! // Check if logged in
//! let logged_in = community.logged_in().await?;
//! println!("Logged in: {:?}", logged_in);
//!
//! Ok(())
//! }
//! ```
// Re-export main types
pub use ;
pub use SteamUser;
pub use SteamUserError;
pub use FallbackSteamUser;
pub use Session;
pub use SteamUserApi;
// Re-export steamid for convenience
pub use SteamID;
// Re-export match history types
pub use ;
// Re-export service types
pub use ;