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.
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
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
Two bots – two sections
OBSBot and the giveaway system are technically separate applications. Which sections are visible and unlocked for you depends on your plan. Choose the section that interests you.
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.
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
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)
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.
| Part | Source | Example |
|---|---|---|
| Title prefix | Configuration field | 🎬 Now playing: |
| Video name | File or folder name (without .mp4) | Best of Stream #42 |
| Title suffix | Configuration 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.
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.
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.
Refreshed server-side
Refreshing happens on our servers, not on yours. You never notice it.
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
| Command | Function | Details |
|---|---|---|
!bothelp | Show commands | Lists available OBSBot commands with a short description. |
!log | Send bot log | Posts the latest log lines, shortened, as a code block into the channel the command was typed in – normally the mod channel. |
!system_info | Show system info | Shows machine, uptimes and playlist - the embed for troubleshooting. |
!settwitchcode <code> | No longer in use | Only replies with a note that Twitch no longer needs a code – you make the connection in the dashboard. |
!tokenstatus | Check token status | Shows the state of the Kick connection. |
!refresh | Force refresh | Immediately starts a manual token refresh. |
!update | Check for update | Immediately checks for a new plugin version and stages it. It is applied on the next start of OBS. |
!restart | Restart bot | Restarts playback - OBS itself keeps running. |
Twitch and Kick chat in OBSBot operation
| Command | Function | Details |
|---|---|---|
!voteskip | Start skip voting | Starts a vote to skip the current video. |
!vote | Participate in voting | Once the defined threshold is reached, the current video is skipped. |
!mark <grund> | Mark video | Marks 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.
What makes the giveaway system technically strong in daily use
For giveaways, community prizes, and fair drawings with less manual work, but with clear technical states for registration, drawing, claims, and moderation.
Buying tickets stays clean
Viewers buy tickets with the points they have collected – in Twitch chat using the configured command. The bot cleanly transfers those purchases into participant data and keeps available prizes synchronized in parallel.
Fairness is enforced technically
Pity rates, cooldowns, dedup, and stored participant data feed directly into the draw. In addition, a live check verifies who is actually active in chat.
Discord stays the control center
Submission, approval, status changes, winner assignment, and operational interventions are bundled through Discord instead of getting lost between individual messages and spreadsheets.
Claims and fallbacks stay tracked
The bot stores open wins, sets claim windows, sends automatic reminders, and returns prizes that are not claimed in time back into the available pool.
The giveaway system for giveaways and community prizes
The second part of your license: everything around draws, community prizes, StreamSeries, and cleanly managed claim flows – entirely in the dashboard, with no second install.
Giveaway flow with tickets and participant lists
The giveaway system handles ticket purchases through Twitch chat, stores participants persistently, starts drawings at fixed intervals, and cleanly separates available, drawn, and claimed prizes.
Prize management, claims, and reminders
Prizes move through Discord submission, approval, and winner assignment. After the drawing, the bot manages claim windows, reminders, fallbacks, and status until final completion.
Pity system and StreamSeries bonuses
Adaptive pity rates and StreamSeries detection with dedup, cooldown, and bonus stars ensure that recurring community activity feeds directly and transparently into the winning logic without allowing simple duplicate advantages.
Discord prize forum and team processes
Status, approvals, prize sources, live prize lists, and operational interventions remain visible in Discord while the giveaway system handles the actual giveaway and community prize flow and continuously updates prize states.
The four technical building blocks behind the giveaway system
Not a single random button, but a combination of Twitch inbound, draw logic, Discord status, and scheduled resets.
Chat and live check
Tickets are bought in Twitch chat. But for the actual draw, it is not only the ticket that counts, but also whether the user is still detected as an active chatter during the live check.
Persistent participant and win states
Participant data, open wins, and draw parameters stay stored. This lets the flow survive restarts, claim windows, and longer streams without moderators having to maintain it manually.
Prize approval and visibility
Discord forms the operational layer: prizes are submitted, approved, assigned to a winner, and tracked by status while live lists and team interventions remain available.
Intervals, resets, and fallbacks
Draws run on a schedule. Participant and pity data are maintained through planned resets, and unclaimed prizes move automatically back into the available inventory.
How a giveaway runs technically
From submitted prize to confirmed claim, the flow is split into controllable individual steps.
Submit prize
Community members or sponsors submit prizes in Discord. Description, limits, prize source, and proof images when needed are checked before a prize is allowed into the available pool at all.
Let viewers buy tickets
Viewers buy tickets with the points they have collected in Twitch chat. The bot stores every purchase persistently and prevents the flow from being based only on loose chat messages.
Run the draw
At configurable intervals, the bot draws automatically. Pity logic, StreamSeries bonuses, dedup, and cooldowns feed directly into the win logic; in addition, only viewers who still appear as active chatters during the live check remain eligible.
Secure the claim
Winners claim via !claim in public chat. Open wins stay stored, reminders run automatically, and prizes that are not confirmed return to available after expiry.
Giveaway-System functions in live operation
The core areas that make the difference between a simple draw and a robust workflow in daily giveaway operation.
Drawing intervals and immediate runs
Drawings do not run ad hoc, but at fixed intervals. When needed, the team can additionally trigger a manual run without giving up the regular rhythm.
Adaptive win logic
Min/max boundaries for pity rates, stepwise adjustments, and a real activity check make fairness more than just a promise.
StreamSeries rewards
Recurring activity feeds into the logic through bonus stars while dedup and cooldowns limit duplicate advantages and keep streaks clean.
Proof images for prizes
Physical prizes can be submitted with proof images so moderators do not have to approve blindly and prize quality remains traceable.
Prize status stays visible
Available, drawn, claimed, and returned prizes remain visible to the team instead of disappearing from view during live operation.
Reminders, claims, and returns
Open wins are not just stored, but actively tracked, reminded, and released again in a controlled way if a claim does not arrive.
Giveaway-System commands and prize workflows
This section focuses only on giveaway and prize logic: entry, status, claims, and handing off prizes in Discord.
Twitch chat and community commands
| Command | Function | Details |
|---|---|---|
!ticket | Buy a ticket with points | Runs in Twitch chat and converts points into tickets; the command can be renamed or switched off in the dashboard. |
!claim | Claim prize in chat | Is used in public chat after a win so the bot can clearly assign and close open wins for the correct user. |
!sternenschleuder | Get giveaway status | Shows the current state of the raffle launcher and available prizes. |
Discord team command
| Command | Function | Details |
|---|---|---|
!rafflenow | Trigger immediate draw | Allows the team to trigger a draw immediately outside the regular interval, for example during events or for controlled flow testing. |
Prize submission in Discord
Prizes are submitted in a structured way, reviewed, and only made available for drawings after approval.
Winner assignment and claim
The bot keeps winners, claim windows, reminders, and returned prizes aligned so prizes do not get lost in day-to-day operations.
Live prize lists and moderation
Mods can always see which prizes are available, drawn, claimed, or returned and can intervene in the flow.
Use the giveaway system for giveaways and prizes
If you care about drawings, StreamSeries, claims, and prize management, this is the relevant part of StreamWizard for you.
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.
Two bots. One setup. Your advantage.
OBSBot for 24/7 stream operations. Giveaway-System for giveaways, StreamSeries, and community prizes. Which areas are visible and unlocked depends on your plan.