Platform

Restream Integration

Unified multistreaming integration with aggregated chat, events from all platforms, and stream management.

Overview

FaustBot's Restream integration provides a unified interface for multistreaming:

Unified Chat

Receive chat messages from all connected platforms in one place.

Cross-Platform Events

Get follows, subs, and donations from all your streaming destinations.

Platform Routing

Send messages to specific platforms or broadcast to all.

Analytics

Combined viewer counts and engagement metrics across platforms.

Connecting Your Account

1

Open Restream Settings

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

2

Connect Your Account

Click Connect Account and log in with your Restream account. This connects FaustBot to your Restream dashboard and all linked platforms.

Screenshot: Restream OAuth authorization
3

Configure Platforms

Select which connected platforms you want FaustBot to receive events from. You can enable/disable platforms individually.

Chat Aggregation

Restream Chat aggregates messages from all platforms. Each message includes the source platform, so you can create platform-specific responses.

Available Triggers

FaustBot can respond to aggregated events from all your streaming platforms:

Chat Events

Chat Message Message from any connected platform
Command Chat command from any platform
First Message User's first message in the stream

Follow Events

Follow New follower from any platform
Twitch Follow Follow specifically from Twitch
YouTube Subscribe Subscribe specifically from YouTube
Facebook Follow Follow specifically from Facebook

Monetization Events

Subscription Sub from any supported platform
Donation Tip or donation via Restream
Super Chat YouTube Super Chat
Bits Twitch Bits cheer

Stream Events

Stream Started Multistream went live
Stream Ended Multistream ended
Platform Connected A destination platform connected
Platform Disconnected A destination platform disconnected

Viewer Events

Viewer Count Update Combined viewer count changed
Peak Viewers New peak viewer count reached

Effects

Actions can use these Restream-specific effects:

Send Message

Send a message to all platforms.

Send to Platform

Send to a specific platform only.

Reply to Message

Reply on the same platform as the trigger.

Update Title

Update stream title on all platforms.

Update Game

Update game/category on all platforms.

Ban User

Ban a user on their source platform.

Timeout User

Timeout a user on their source platform.

Delete Message

Delete a message on its source platform.

Variables

The following variables are available in Restream triggers:

VariableDescription
%user%Username on source platform
%displayName%Display name
%userId%User ID on source platform
%message%Chat message text
%platform%Source platform (twitch, youtube, facebook, etc.)
%platformDisplayName%Formatted platform name
%totalViewers%Combined viewer count across all platforms
%platformViewers%Viewer count on source platform
%donationAmount%Donation amount (if applicable)
%donationCurrency%Donation currency code
%activePlatforms%Number of active streaming destinations
%streamTitle%Current stream title

Scripting API

Access Restream features from your scripts via the CPH API:

Chat & Messaging

Chat & Messaging
# Send a message to all platforms
CPH.RestreamSendMessage("Hello everyone across all platforms!")

# Send to a specific platform
CPH.RestreamSendToPlatform("twitch", "Hello Twitch chat!")
CPH.RestreamSendToPlatform("youtube", "Hello YouTube viewers!")

# Reply on the same platform as the trigger
CPH.RestreamReply(args["platform"], "Thanks for the message!")

Stream Management

Stream Management
# Update title on all platforms
CPH.RestreamSetTitle("New Stream Title!")

# Update game/category
CPH.RestreamSetGame("Just Chatting")

# Get active platforms
platforms = CPH.RestreamGetActivePlatforms()
for platform in platforms:
    print(f"Live on: {platform}")

Moderation

Moderation
# Ban a user on their platform
CPH.RestreamBanUser(args["platform"], args["userId"])

# Timeout a user
CPH.RestreamTimeoutUser(args["platform"], args["userId"], 300)

# Delete a message
CPH.RestreamDeleteMessage(args["platform"], args["messageId"])

Analytics

Analytics
# Get combined viewer count
total = CPH.RestreamGetTotalViewers()
print(f"Total viewers: {total}")

# Get viewers per platform
breakdown = CPH.RestreamGetViewerBreakdown()
for platform, count in breakdown.items():
    print(f"{platform}: {count} viewers")

See the full API reference for all available methods.