Steam Integration
Steam integration for game detection, achievements, rich presence, and Steamworks API access.
Overview
FaustBot's Steam integration provides deep game and platform integration:
Game Detection
Automatically detect when you launch or close Steam games.
Achievement Tracking
React to achievement unlocks in real-time during gameplay.
Rich Presence
Update your Steam status and rich presence from actions.
Friend Activity
Get notified when friends come online or start games.
Connecting Your Account
Open Steam Settings
Click Steam in the sidebar to open the Steam integration page.
Ensure Steam is Running
Make sure the Steam client is running and you are logged in. FaustBot connects through the local Steam client.
Connect to Steam
Click Connect to establish the connection with your Steam client. FaustBot will automatically detect your Steam ID and profile.
Steam API Key (Optional)
For additional features like friend list access and public profile data, you can add your Steam Web API key from the Steam Developer Portal.
Available Triggers
FaustBot can respond to Steam events in real-time:
Game Events
Game Started A Steam game was launchedGame Ended A Steam game was closedGame Changed Switched to a different gameAchievement Events
Achievement Unlocked Earned a new achievementRare Achievement Earned an achievement with low unlock rateSocial Events
Friend Online A Steam friend came onlineFriend Offline A Steam friend went offlineFriend Started Game A friend started playing a gameChat Message Received a Steam chat messageStatus Events
Steam Connected Connected to SteamSteam Disconnected Disconnected from SteamStatus Changed Online status changed (Online, Away, etc.)Effects
Actions can use these Steam-specific effects:
Set Status
Change your online status (Online, Away, Invisible).
Set Rich Presence
Update your rich presence status text.
Send Chat Message
Send a message to a Steam friend.
Launch Game
Launch a Steam game by App ID.
Take Screenshot
Trigger Steam screenshot capture.
Open Overlay
Open the Steam overlay to a specific page.
Variables
The following variables are available in Steam triggers:
| Variable | Description |
|---|---|
%steamId% | Your Steam ID (64-bit) |
%steamName% | Your Steam display name |
%gameName% | Name of the current game |
%gameId% | Steam App ID of the game |
%achievementName% | Name of the unlocked achievement |
%achievementDesc% | Achievement description |
%achievementIcon% | URL to achievement icon |
%achievementRarity% | Global unlock percentage |
%friendName% | Friend's Steam display name |
%friendId% | Friend's Steam ID |
%friendGame% | Game the friend is playing |
%status% | Current online status |
%message% | Chat message text |
Scripting API
Access Steam features from your scripts via the CPH API:
Status & Presence
# Set online status
CPH.SteamSetStatus("Online") # Online, Away, Busy, Invisible
# Set rich presence
CPH.SteamSetRichPresence("Streaming live on Twitch!")
# Get current status
status = CPH.SteamGetStatus()
print(f"Current status: {status}")Game Information
# Get current game
game = CPH.SteamGetCurrentGame()
if game:
print(f"Playing: {game.Name}")
print(f"App ID: {game.AppId}")
print(f"Playtime: {game.PlaytimeMinutes} minutes")
# Launch a game
CPH.SteamLaunchGame(730) # Launch CS2 by App IDAchievements
# Get achievement info
achievement = CPH.SteamGetAchievement(args["gameId"], args["achievementName"])
print(f"Name: {achievement.Name}")
print(f"Description: {achievement.Description}")
print(f"Global unlock rate: {achievement.GlobalPercentage}%")
# Get all achievements for current game
achievements = CPH.SteamGetAchievements(args["gameId"])
unlocked = [a for a in achievements if a.Unlocked]
print(f"Unlocked: {len(unlocked)}/{len(achievements)}")Friends
# Get online friends
friends = CPH.SteamGetOnlineFriends()
for friend in friends:
print(f"{friend.Name} - {friend.Game or 'Not in game'}")
# Send a chat message
CPH.SteamSendChat(args["friendId"], "Hey! Just went live!")
# Get friend info
friend = CPH.SteamGetFriendInfo("76561198012345678")
print(f"Name: {friend.Name}")
print(f"Status: {friend.Status}")Profile
# Get your profile info
profile = CPH.SteamGetProfile()
print(f"Name: {profile.DisplayName}")
print(f"Level: {profile.Level}")
print(f"Games Owned: {profile.GamesOwned}")See the full API reference for all available methods.