Platform

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

1

Open Steam Settings

Click Steam in the sidebar to open the Steam integration page.

2

Ensure Steam is Running

Make sure the Steam client is running and you are logged in. FaustBot connects through the local Steam client.

Screenshot: Steam client connection
3

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 launched
Game Ended A Steam game was closed
Game Changed Switched to a different game

Achievement Events

Achievement Unlocked Earned a new achievement
Rare Achievement Earned an achievement with low unlock rate

Social Events

Friend Online A Steam friend came online
Friend Offline A Steam friend went offline
Friend Started Game A friend started playing a game
Chat Message Received a Steam chat message

Status Events

Steam Connected Connected to Steam
Steam Disconnected Disconnected from Steam
Status 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:

VariableDescription
%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

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

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 ID

Achievements

Achievements
# 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

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

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.