Skip to content
OBSBot and the giveaway system at a glance

What StreamWizard takes off your hands

Two parts, one license: OBSBot keeps your channel on air around the clock inside your own OBS, even when you are not at the desk. The giveaway system gives prizes to your viewers and handles entries, draws, and claims on its own. Below you will find how each part works in detail.

OBSBot

Playlist, OBS, platforms, and control in operating mode

The OBSBot works with a fixed root video directory, automatically builds rotating playlists from it, feeds the content into OBS, and keeps Twitch/Kick chat integration, streaming on other platforms without chat integration, token status, Discord control, the web frontend, and recovery together in a reliable 24/7 setup.

Optionally, the plugin plays your own or expressly authorized public YouTube videos directly through the official embedded player - nothing is downloaded. The intended rights and privacy path is described in the YouTube in the OBS plugin page.

  • Playlist building from the root video directory with subfolders, rotation, and automatic rebuilding
  • Platform-specific workflows with Twitch and Kick chat integration; other platforms continue directly through OBS without chat integration
  • Optional YouTube playback only for your own or expressly authorized public videos - through the embedded player, without downloading
  • Discord, web frontend, and chat control for bot start, updates, restart, skip, voteskip, logs, and markings
Giveaway system

Giveaways, StreamSeries, and prize workflows

The giveaway system covers the full giveaway flow: from prize approval in Discord through buying tickets with collected points in Twitch chat to automated drawings, claims, reminders, StreamSeries bonuses, and fair winning logic.

  • Buying tickets with collected points in Twitch chat, maintained participant lists, claim windows, and automated drawings during the live stream
  • Prize logic with Discord submission, moderator approval, live status, and clean winner assignment
  • StreamSeries detection with dedup, cooldown, bonus stars, and adaptive pity logic
OBSBot – 24/7 stream

The three systems powering the OBSBot

StreamWizard connects OBS, Twitch/Kick, additional platform paths without chat integration, Discord, and the web frontend into a setup that not only streams, but also builds playlists automatically, monitors itself, and can be controlled remotely.

OBS-PLUGIN

Playback & Control

The plugin runs as a module inside OBS Studio. It controls the video source, switches scenes, and starts playback directly through the OBS interface — no network connection, no port, no password.

  • Directory and file reachability check before every video
  • Scene and media source are created on first start if missing
  • Exponential backoff when the video directory is unreachable – 5 seconds, doubling up to 60
TWITCH / KICK API

Token, Title & Chat

OAuth2 token lifecycle with automatic refresh. On Twitch and Kick, chat integrations run through the platform connection; on other platforms the bot continues through OBS without chat integration.

  • Twitch via the dashboard, Kick by code
  • Automatic token refresh during operation
  • Viewer count polling (every 5 min)
DISCORD BOT

Remote Control & Logging

The mod channel and the web frontend are the command centers — the /obs slash command places a control panel there where start, stop, skip, logs, and status converge.

  • Separate mod and log channels
  • Embed messages with color codes
  • Automatic reconnect

Playlist engine for local files and YouTube videos in 24/7 operation

This is where the difference is made between a real continuous stream and a dull endless loop.

Automatic Playlist Generation

At startup, the bot scans the configured root video directory with its subfolders for video files (.mp4, .mkv, .mov, .avi, .webm, .flv, .ts, .m4v) and builds playlist.json from it. Each video is recorded with path, name, and duration. Optionally, YouTube videos from your channel are added - they play through the official embedded player, not as files.

Rotation & Shuffle

Each video is marked as played. Once all are done, the playlist is rebuilt from scratch. Local files keep their fixed order – from a manifest or alphabetically by file name. Only the clusters from your YouTube channel are reshuffled on every build; episodes inside a series keep their order.

Twitch title per video - via StreamElements

For every video the bot assembles a title from title prefix, file or folder name, and title suffix, and announces it in chat. StreamElements turns that into the stream title via the !aktuell command with ${settitle ${2:}} - you create that command once yourself, user level moderator. Without it, the announcement stays in chat only.

PartSourceExample
Title prefixConfiguration field🎬 Now playing:
Video nameFile or folder name (without .mp4)Best of Stream #42
Title suffixConfiguration field| 24/7 Rerun

Twitch connection without your own token

The plugin no longer holds its own Twitch token. Chat runs through the central system bot – there is nothing on your side that could expire.

1

Connect Twitch in the dashboard

In the dashboard under “OBS plugin”, click “Connect Twitch”. That is all – there is no code left to copy anywhere.

2

System bot becomes moderator

When you connect, the system bot becomes a moderator in your channel and posts the announcements there. Your own Twitch account holds no token for this.

3

Refreshed server-side

Refreshing happens on our servers, not on yours. You never notice it.

4

Status & monitoring

Use !tokenstatus to check the state of the Kick connection at any time. Problems are reported in the Discord log channel.

Recovery, reconnects, and stability in continuous operation

These mechanisms are what turn simple OBS automation into an OBSBot that detects problems and does not stop at the first failure.

Recover at the push of a button

“Recover” is something you trigger yourself – via the Discord button or the dashboard: stop the bot, discard the playlist, restart, rebuild the playlist. What runs on its own is supervision: a dead playback thread is restarted, a stalled one is reported in red to Discord and deliberately left alone – restarting it would take OBS down mid-stream.

Directory check before every video

Before every video the plugin checks whether the video directory and the file are reachable. If the directory is gone - sleeping disk, dropped network mount - the bot waits 5 seconds, then doubling up to 60 seconds, instead of draining the schedule. A connection to OBS cannot fail: the plugin runs inside the OBS process itself.

Network monitor

A separate monitor watches the internet connection. When it returns, the plugin re-registers its Discord channel routes and re-checks the Kick subscriptions. There is no Twitch connection to restore – chat is handled by the central system bot.

OBSBot commands for operation and interventions

These commands belong directly to 24/7 operation: start the bot, rebuild the playlist, apply updates, maintain tokens, check status, and intervene in running content. The same control model is additionally complemented by the web frontend.

Discord mod channel

CommandFunctionDetails
!bothelpShow commandsLists available OBSBot commands with a short description.
!logSend bot logPosts the latest log lines, shortened, as a code block into the channel the command was typed in – normally the mod channel.
!system_infoShow system infoShows machine, uptimes and playlist - the embed for troubleshooting.
!settwitchcode <code>No longer in useOnly replies with a note that Twitch no longer needs a code – you make the connection in the dashboard.
!tokenstatusCheck token statusShows the state of the Kick connection.
!refreshForce refreshImmediately starts a manual token refresh.
!updateCheck for updateImmediately checks for a new plugin version and stages it. It is applied on the next start of OBS.
!restartRestart botRestarts playback - OBS itself keeps running.

Twitch and Kick chat in OBSBot operation

CommandFunctionDetails
!voteskipStart skip votingStarts a vote to skip the current video.
!voteParticipate in votingOnce the defined threshold is reached, the current video is skipped.
!mark <grund>Mark videoMarks problematic content for later review by mods.

System requirements and configuration

Here you can see the technical baseline for running the plugin - on your streaming PC as well as on a server in continuous operation.

Prerequisites

  • OBS Studio – the plugin runs as a module inside it, there is no second program
  • Twitch-Account with streaming permissions

Configuration fields

  • Video root path
  • Scene name / source name
  • License key

Operating modes for desktop and server

Setup happens once in the dock inside OBS; from then on it is controlled remotely through Discord and the dashboard.

Dock inside OBS

The dock sits next to your other OBS panels: operation, videos, platforms, and setup in tabs, plus the running log.

Headless mode

The plugin runs wherever OBS Studio runs - on your streaming PC as well as on a server in continuous operation.

Review and set up OBSBot in detail

If you are planning continuous 24/7 operation, these are the relevant areas for setup, stability, and ongoing control.