Documentation

Getting started: Follow the guide sections in order for your first setup. Experienced users can jump directly to the feature they need using the contents menu below.

Contents

Use the links below to jump directly to the section you need.

1. Download and install

What this is: getting SnapShield onto your PC. You install it with a normal Windows installer, and it needs no administrator rights.

Steps

  1. Go to https://snapshield.snapten.uk in your browser.
  2. Click the Download button and save the installer (SnapShield-Setup-….exe).
  3. Double-click the installer. It installs just for you, so Windows doesn't ask for administrator rights. Click Next, choose whether you want a desktop shortcut, then click Install.
  4. If Windows shows a blue "Windows protected your PC" box, click More info, then Run anyway. Windows does this for newer programs it hasn't seen before.
  5. Tick Launch SnapShield on the last page and click Finish. You can also open it later from the Start menu.
  6. The first time it runs, SnapShield creates two folders in your user profile at %APPDATA%\SnapShield (paste that into the File Explorer address bar to open it):
    • data – all of your settings (accounts, commands, alerts and so on).
    • logs – a log file that helps with troubleshooting.

Portable version: if you downloaded the ZIP instead, extract it to a folder you can write to, keep SnapShield.exe and SnapShieldUpdater.exe together, and run SnapShield.exe. To keep your settings next to the program rather than in your user profile, create an empty file called portable.txt beside SnapShield.exe.

Good to know

  • Keep the data folder (inside %APPDATA%\SnapShield) private. It contains your login tokens. Never share it or post it publicly.
  • To move SnapShield to another PC, install it there, use Backup Settings on this PC, then Import Settings on the new one (see section 16).
  • Updates: SnapShield checks for a new version when it starts. If one is available, the bottom of the left menu shows Update available. Open Diagnostics and click Download & Install Update (see section 16.5). SnapShield restarts itself, and your data and logs folders are kept.

2. A quick tour of the app

What this is: a map of the left-hand menu, so you know where everything lives. The version number is shown at the bottom of the menu.

Menu itemWhat it does
AccountsLog in to Twitch (streamer and optional bot) and connect the bot.
DiscordLog in to Discord and choose where clips and alerts are posted.
OverlayCreate the browser pages you add to OBS.
Alerts & EventsFollow/raid/sub alerts and dozens more events, Channel Points rewards and Power Ups.
Sponsor BannerA repeating on-stream message or graphic while you're live.
MusicBasic Player and YouTube Music song requests.
CommandsChat commands such as !lurk and !uptime.
CommunitySix tabs: Giveaway, Subathon, Counters, Snake Invaders and SnapDungeon (each shows on an overlay for OBS) and Games (chat mini-games with a coin balance).
Twitch ModerationStrikes, banned words and Raid Protection.
Stream AnalyticsLocal stream statistics, plus a Twitch → Discord tab that posts chosen Twitch events and chat to a Discord channel.
DiagnosticsHealth checks, backup/import/reset, and updates.

The usual order for a first setup: Accounts → Connect → Discord (optional) → Moderation → Commands → Alerts & Events → Overlay → everything else.

3. Accounts: connect your Twitch

What this is: the Accounts page is where SnapShield learns which Twitch channel to run on. You log in with Twitch's official page, so SnapShield never sees your password. You must log in with your Streamer Account. A Bot Account is optional.

3.1 Log in with your Streamer Account (required)

The streamer account is the channel the bot works in. On its own it is enough to run chat, moderation and everything else, with the bot speaking under your name.

  1. Open Accounts in the left menu.
  2. In the Streamer Account section, click Log in with Streamer Account.
  3. A code appears on screen. Click Copy Link and Copy Code if you want to use the buttons, or just follow the next step.
  4. Go to twitch.tv/activate in your browser. Make sure you are signed in to Twitch as your streamer account.
  5. Enter the code and click Authorize.
  6. Return to SnapShield. The status changes from "Not logged in." to your Twitch name.

Click Log Out in the same section if you ever want to disconnect the account or switch to a different one.

3.2 Log in with a Bot Account (optional)

Use this only if you want the bot to chat and moderate as its own separate Twitch account (for example YourNameBot) instead of as you.

  1. Create a second Twitch account for your bot if you don't have one.
  2. In the Bot Account section, click Log in with Bot Account.
  3. Open twitch.tv/activate while signed in to the bot account (use a private window if you're signed in as yourself) and enter the code.
  4. Make the bot a moderator in your channel. Type this in your own Twitch chat:
    /mod YourBotName
    Without this, the bot can chat but Twitch will refuse its timeouts and bans.

Which account does what? If a bot account is logged in, the bot chats and applies moderation as the bot. If not, it uses your streamer account.

3.3 Connect the bot

Logging in only saves your accounts. The bot isn't running until you connect it.

  1. In the Connection card at the bottom of the Accounts page, look at Status. ❌ Offline means the bot is not running.
  2. Click Connect Twitch Bot.
  3. Wait a moment. Status changes to ✅ Online and you'll see a confirmation message.
  4. Type a message in your chat, or a command such as !lurk, to confirm it responds.

Click Disconnect to stop the bot. The red button simply turns it off. Nothing is deleted.

3.4 Auto-connect on startup

Tick Auto-connect on startup if you want the bot to connect by itself every time SnapShield opens. It needs your streamer account to already be logged in. SnapShield also checks the connection every 10 seconds and reconnects if it drops unexpectedly while this is ticked.

This is ticked by default on a fresh install. Untick it if you prefer to press Connect Twitch Bot yourself each time.

3.5 If Twitch asks you to log in again

Twitch logins can expire or be revoked, for example if you change your password or remove SnapShield from your Twitch connections. If the Accounts page or the Diagnostics page says an account needs reauthorization, click Log Out and then log in again as described above.

The !clip command and clip actions need a permission called clips:edit. If clips fail after an update, log the streamer account out and in again to grant it.

4. Discord: log in and add channels

What this is: the Discord page lets SnapShield post to your Discord server, for example every time a Twitch clip is made. You log in through Discord's own page and pick which server and channel to allow. SnapShield only gets permission to post in the channels you choose, and it never needs a bot token.

4.1 Log in and add your first channel

  1. Open Discord in the left menu.
  2. Click Log in with Discord / Add channel.
  3. Your browser opens Discord's authorization page. Sign in if asked.
  4. Pick the server and the channel where SnapShield should post (for example #clips), then click Authorize.
  5. Return to SnapShield. The page now says Logged in as your Discord name and the channel appears under Authorised channels.

4.2 Add more channels

Click Log in with Discord / Add channel again and choose a different channel (or a different server). Each run adds one more channel. Use separate channels for different things, such as #clips, #live-alerts.

4.3 Name, test and remove channels

  1. Click a channel in the Authorised channels list.
  2. The channel is named after your Discord server automatically (Discord does not tell SnapShield the channel's own name). Type a friendlier name in Name (for example #clips) and click Save name. These names are what you will pick from in other parts of the app.
  3. Click Send test to post a sample message. Check Discord to confirm it arrived.
  4. Click Remove to stop SnapShield posting to that channel.

4.4 Automatically post new clips

  1. In Automatically post new clips, tick Post every clip created by SnapShield to Discord.
  2. Choose the Channel.
  3. Edit the Message if you like. You can use {username} (who made the clip), {clipTitle} and {clipUrl}.
  4. Click Save clip settings.

The post includes a clean Discord embed with the clip link.

4.5 Log out

Click Log out to remove your Discord account and all authorised channels from SnapShield. You can also remove the SnapShield app from Discord under User Settings → Authorized Apps.

5. Twitch Moderation

What this is: automatic chat moderation. SnapShield watches every message and can delete it and punish the user when it breaks your rules. The page has three tabs: Strikes, Word Filters and Raid Protection.

Important rules that apply to all of it

  • Moderators and the broadcaster are never moderated. Only regular viewers are checked.
  • For deletes, timeouts and bans to work, the account that is acting (your bot account, or your streamer account if no bot is set) must have moderator rights. See section 3.2.
  • Changes take effect immediately. You don't need to reconnect.

5.1 Word Filters: banned words and strike words

You have two word lists. They both work by checking whether the message contains the word or phrase, ignoring upper/lower case. Short words can match inside longer words, so choose them carefully (for example, a short word may also catch innocent words that contain it).

Banned Words – instant action, no strikes. Use these for things that are never acceptable (slurs, spam links, scam phrases). The message is deleted and the user is punished right away.

  1. Open Twitch Moderation → Word Filters.
  2. In the Banned Words card, choose the Action:
    • Timeout – the user is muted for a set time.
    • Ban – the user is permanently banned.
  3. If you chose Timeout, set Timeout Duration in seconds (for example 600 = 10 minutes). The maximum is 1,209,600 seconds (14 days), which is Twitch's limit.
  4. Type the text in Message. The bot posts it in chat, tagging the user (for example "You used prohibited language and were removed.").
  5. Type a word or phrase in the box and click Add Word. Repeat for each one.

Strike Words – adds a strike instead. Use these for lesser offences where you want to give people a chance. The message is deleted and the user gets a strike, with punishments getting heavier as strikes build up (see the next section).

  1. Scroll to Strike Words.
  2. Type a word or phrase and click Add Word.

Managing the lists (both)

  • Remove Word – click a word in the list, then click this.
  • Import List – load a .txt file with one word or phrase per line. Duplicates are skipped.
  • Export List – save the list to a .txt file to back it up or share it.

5.2 Strikes: the punishment ladder

A strike ladder decides what happens at each strike number. For example: strike 1 is a warning, strike 2 a 10-minute timeout, strike 3 a ban.

Users get a strike when they:

  • use a Strike Word, or
  • trigger a Moderation step in an action chain with Give Strike chosen (see section 8).

Set up the ladder

  1. Open Twitch Moderation → Strikes.
  2. Under the level form, set Strike Number (1, 2, 3…).
  3. Choose the Action:
    • Warning – the bot posts your message in chat. Nothing else happens.
    • Timeout – mutes the user for Timeout Duration (in seconds).
    • Ban – permanently bans the user.
  4. Write the Message the bot should say (for example "This is your first warning."). It's posted in chat and tags the user.
  5. Click Add / Update Level. The level appears under Configured Strike Levels.
  6. Repeat for each strike number you want. There is no limit.

Useful buttons: Edit Selected loads a level back into the form, Remove Selected deletes it, Clear Form empties the form.

What if a user goes past your last level? They keep receiving the highest level you've configured. If your top level is a ban, they're banned.

Suggested starter ladder

StrikeActionDurationMessage
1Warning–"Please keep chat friendly. This is your first warning."
2Timeout600"Second strike – a 10 minute timeout."
3Timeout3600"Third strike – 1 hour timeout."
4Ban–"Final strike. You have been banned."

5.3 Automatic strike reset

Strikes shouldn't last forever. This setting wipes everyone's strikes on a schedule so a mistake from last month doesn't count against someone today.

  1. In Automatic Strike Reset, tick Automatically clear all strikes on a schedule.
  2. Set Reset every (in hours).
  3. Click Save Reset Settings.

By default it is on and resets every 12 hours. The timer runs while the bot is connected.

5.4 Raid Protection

What this is: when another streamer raids you with a lot of viewers, chat can get flooded. Raid Protection reacts automatically.

  1. Open Twitch Moderation → Raid Protection.
  2. Tick Enable Twitch Raid Protection.
  3. Set Large raid threshold: the smallest raid size (in viewers) that triggers protection. Smaller raids are ignored. The default is 10.
  4. Tick Enable slow mode during a protected raid if you want chat slowed down, and set Slow mode duration in seconds. Slow mode limits how often each viewer can post.
  5. Tick Announce the raid in Twitch chat if you want the bot to welcome the raiders.
  6. Click Save Raid Protection.

Note: slow mode uses your streamer account to change the chat settings. It stays on after the raid, so turn it off in Twitch when you're ready (type /slowoff in chat).

6. Commands

What this is: commands are chat triggers like !lurk. When a viewer types one, SnapShield runs an action chain (one or more steps such as a chat reply, a sound, an on-screen image). See section 8 for what the steps can do.

6.1 Built-in and starter commands

SnapShield comes with these ready to use:

CommandWho can useWhat it does
!uptimeEveryoneSays how long you've been live.
!followageEveryoneSays how long the viewer has followed you.
!shoutout <name>ModeratorsShouts out another streamer and the game they last played.
!commandsEveryoneLists the available commands.
!lurkEveryoneA friendly lurk message.
!discordEveryonePlaceholder – edit it to add your Discord invite.
!socialsEveryonePlaceholder – edit it to add your links.

Games, music and clip commands are covered in their own sections.

6.2 Create a command

  1. Open Commands.
  2. In Command Name, type the command with its ! (for example !hug).
  3. Optional: add Aliases – other names that run the same command, separated by commas (for example !hugs, !cuddle).
  4. Choose Minimum Permission: Everyone, Subscriber, VIP, Moderator or Broadcaster. Anyone below that level is ignored.
  5. Set an optional Cooldown. If the command is used again within that many seconds, it's silently ignored. "No cooldown" means unlimited.
  6. Tick Enabled (untick it to switch the command off without deleting it).
  7. Build the action chain – add a Chat Message step with your text, plus any other steps you want.
  8. Click Test Command (All Actions) to try it. Chat and Discord steps are only previewed on screen during a test. Nothing is really sent.
  9. Click Add / Update Command to save.

6.3 Manage commands

Select a command in the list, then use:

  • Edit Selected – load it back into the form.
  • Duplicate Selected – copy it as a starting point.
  • Toggle Enabled – turn it on or off.
  • Test Selected (blue) – fire the selected alert right now, exactly as saved, without opening it for editing.
  • Remove Selected – delete it.

6.4 Handy examples

  • !hug <name> – chat message: {user} gives {target} a big hug! The first word after the command becomes {target}. If nobody is named, {target} is the person who typed it.
  • !clip – a chain of: Chat Message ("Clipping that!") → Create Clip → Discord post of {clipUrl}. See section 8.
  • !so – copy !shoutout and add an overlay image with the Avatar media source to show the streamer's profile picture.

7. Alerts & Events, Channel Points and Power Ups

What this is: the Alerts & Events menu item has six tabs. Five of them (Generic, Twitch, Chat, Channel Points and Power Ups) let you run an action chain when something happens on your channel.

7.1 Generic, Twitch and Chat events

TabEvents
GenericApplication Launch, Application Exit, Stream Start, Stream Stop, New Follower, Channel Raided, New Subscription, Resubscription, Subscription Gifted, Mass Subscription Gifted.
TwitchStream Start/Stop, Channel Updated, New Follower, Incoming Raid, Outgoing Raid Completed, subscriptions, Watch Streak, Modiversary, Highlighted Message, User Intro, Power-Up Message Effect / Celebration, Bits Cheered, Custom Power-Up Redeemed, Charity Donation, Ad Upcoming / Started / Ended, Hype Train Started / Progress / Level Up / Ended, User Warned, Shoutout Received, Suspicious User Message / Updated, Shield Mode Started / Ended, Unban Request Created / Resolved, Goal Started / Progress / Ended.
ChatEntrance Command Triggered (a viewer's first message of the stream), First Message From User (their first ever), Message Received, Whisper Received, Message Deleted, User Timed Out, User Banned, New Account Joined (a chatter whose Twitch account is under 7 days old), User Joined, User Left.

Some events have a number setting: Minimum Gift Count, Minimum Viewers (raids), Minimum Bits, and for Ad Upcoming the Minutes before the ad.

Create or edit an alert

  1. Open Alerts & Events and pick a tab.
  2. Choose the Event.
  3. Tick Enabled.
  4. Build the action chain. The page shows which tokens (like {user}, {viewers}) that event gives you.
  5. Click Test Alert (All Actions) to run it for real. The ▶ on a step tests just that step.
  6. Click Add / Update Alert.

Other buttons: Edit Selected, Duplicate Selected, Toggle Enabled, Remove Selected, Clear Form.

When lots of alerts happen at once they're queued and played one at a time.

Good to know

  • Several of the newer events need extra Twitch permissions. If the page shows a yellow note, log out and back in on Accounts → Streamer once.
  • Ads (Ad Upcoming, Run Ad) only work for Affiliates/Partners. Join/Leave events come from Twitch chat and can be delayed or missing in busy chats.
  • Twitch doesn't provide "Channel Hosted" or "Donation Received", so those aren't listed.

7.2 Channel Points

Run an action chain when a viewer redeems one of your existing Channel Points rewards. You create the rewards themselves on Twitch (Creator Dashboard → Viewer Rewards → Channel Points).

  1. Open Alerts & Events → Channel Points.
  2. Make sure the bot is connected, then click Fetch Rewards to load your rewards from Twitch.
  3. Pick the Reward in the dropdown.
  4. Tick Enabled.
  5. Build the action chain. Available tokens: {user}, {reward_title}, {cost} and {user_input} (the text the viewer typed, if the reward asks for it).
  6. Click Test Reward (All Actions), then Save Reward Action.

Use Duplicate to Another Reward to reuse a chain on a different reward.

7.3 Power Ups

Works exactly like Channel Points, but for Twitch Power Ups rewards. Click Fetch Rewards, pick one, build the chain and click Save Reward Action.

7.4 Streamer (notification sounds)

The Streamer tab plays sounds on your own PC (not on the overlay) so you notice things while you're busy. Settings save as you change them.

  • Notifications Audio Output: which speakers or headset the sounds use. Refresh Devices reloads the list.
  • Notification Cooldown Amount: the minimum number of seconds between two sounds of the same kind, so a busy chat doesn't spam you. 0 means no cooldown. Connect and disconnect sounds always play.
  • For each row (Any Chat Message, Chat Tagged, Chat Whisper, Service Connect, Service Disconnect): the red/green OFF / ON button, a blue play button to hear it (works even when the row is off), Browse... to pick a different sound (every row starts with the built-in message sound, but all rows start OFF), and a volume slider.

Chat Tagged plays when someone @mentions you or replies to one of your messages; if you haven't set a Tagged sound, the Any Chat Message sound is used instead. One message only ever makes one sound. Your own and your bot's messages never make a sound. Whispers need the whisper permission (log in again on the Accounts page if it isn't working).

8. Action chains explained

What this is: an action chain is an ordered list of steps that runs when a command, alert, reward, sponsor timer or song event fires. The same editor is used everywhere, so once you know it, you know it all.

Using the editor

  1. Click the add button and choose an Action. Then pick a Subaction in the second dropdown.
  2. Fill in the fields that appear (only the ones that Action/Subaction needs are shown).
  3. Each step has small buttons to test just that step, move up/down, duplicate, get help, delete, and collapse.
  4. Every step (except Delay) has a Delay before this step, in seconds. Use it to, for example, play a sound first and send the chat message a second later.

Actions and subactions

ActionSubactions
Chat MessageSends a message to Twitch chat.
CommandRun Command (as if typed), Disable Command, Enable Command, Choose Command (picks one at random from a comma-separated list and runs it).
ModerationTimeout User, Remove Timeout User, Ban User, Unban User, Mod User, Unmod User, Add / Remove Moderation Strike. Target is whoever triggered the chain, or a specific username (tokens work). Timeout and Ban can also send a reason in chat.
Music PlayerPlay/Pause, Play, Pause, Play Specific Song, Stop, Next / Previous Track, Toggle Repeat / Repeat On / Repeat Off, Clear Queue. These control the Basic Player.
Overlay (Images & Videos)Display Text, Display Image, Display Video. Position, size, how long, and effects in/out (use Open SnapIT layout editor to drag and resize on a live preview; your other overlay steps in the same chain show faded behind it so you can line things up. Drag the corner of text to change its size, and tick Grid / Snap to grid to line things up). Image/Video can use the Avatar source (the triggering user's Twitch picture).
SoundPlay Sound (at a volume you choose) or Stop All Sounds on an overlay.
DelayWait a number of Minutes or Seconds before the next step.
DiscordSend Message or Send Embed (title, description, link, image, footer, colour) to one of your authorised Discord channels.
TwitchStart Raid (channel name), Run Ad (30–180 s), Create Clip (waits for Twitch; then {clipUrl}, {clipTitle}, {clipId}, {username} work), Shield Mode On / Off.

Moderation, Mod/Unmod, Raid, Ad and Shield Mode need extra Twitch permissions. If a step logs that one is missing, log out and back in on Accounts → Streamer.

Test buttons run everything for real, except moderation aimed at "whoever triggered it" (the test user is only pretend).

Tip – building a full !clip workflow: Chat Message ("Creating a clip…") → Twitch: Create Clip → Chat Message ("Clip created: {clipUrl}") → Discord (🎬 New clip by {username}: {clipUrl}).

Tip – tokens: type tokens like {user} inside any text field. See section 17.

9. Overlay: show alerts in OBS

What this is: overlays are web pages that SnapShield serves from your own PC. You add one to OBS as a Browser Source, and every image, video, text and sound from your alerts and commands appears on it.

  1. Open Overlay.
  2. A Default overlay is already there. To make another (for example for a different screen position), type a name in the box such as Alert Corner and click Add Overlay.
  3. Click an overlay in the list, then click Copy Address.
  4. In OBS, add a source: + → Browser.
  5. Paste the address into URL and set Width 1920 and Height 1080.
  6. Click OK. The overlay is transparent until something plays on it.
  7. Go back to SnapShield and use a Test button on an alert or command to see it appear.

Good to know

  • The overlay server starts with SnapShield, even if the Twitch bot isn't connected, so you can test any time.
  • Keep SnapShield open while streaming. If it is closed, the overlay will show nothing.
  • Remove Selected deletes an overlay. Remember to remove the browser source from OBS too.
  • The default address uses port 5757. Diagnostics shows whether the overlay server is running.
  • The copied address looks like http://127.0.0.1:5757/overlay/default. It only works on the PC running SnapShield, so run OBS on the same PC.

11. Music and song requests

What this is: the Music page connects your music to your stream. It has two tabs: Basic Player and YouTube Music. (Spotify was removed in V0.62.14.)

11.1 Basic Player (music from your PC)

  1. Open Music → Basic Player.
  2. Click Choose Music Folder and pick a folder of audio files.
  3. Use ⏮ / ▶ Play / ⏭ to control playback, and Shuffle and Repeat as you like.
  4. Move the Volume slider to change the loudness.
  5. Choose a Playback device (or click Refresh Devices) to send the audio to a specific speaker or interface.
  6. The title, artist, album and length are read from the file's tags where available. Files without tags show the filename.

Run an action chain on every track: tick Run Action Chain when a track starts, build the chain (tokens: {track}, {artist}, {album}, {duration}, {folder}) and click Save Basic Player Action Chain. If the chain is empty, a plain "🎵 Now playing: …" message is posted.

11.2 YouTube Music

YouTube doesn't allow apps to control playback, so requests are added to a playlist, which you then play yourself.

  1. In YouTube, create a playlist and copy its ID from the address bar (the part after list=, starting with PL).
  2. Open Music → YouTube Music and click Connect YouTube Music. Sign in with the Google account that owns the playlist and allow access.
  3. Paste the ID into Target playlist.
  4. Tick Allow song requests from Twitch chat and set the command, permission and cooldown.
  5. Click Save YouTube Music Song Requests.

Viewers type !songrequest song name and the video is added to your playlist.

12. Games

What this is: simple chat games that viewers play with a virtual coin balance. Coins only exist inside SnapShield and have no real value.

  1. Open Community, click the Games tab, and tick Enable Twitch Games.
  2. Set the economy:
    • Starting Balance – coins every new player gets.
    • Default Bet – used when a viewer doesn't type a bet.
    • Maximum Bet – the highest allowed bet.
    • Daily Reward – coins from !daily.
    • Game Cooldown – seconds between game plays per viewer.
  3. Tick the games you want under Available Games.
  4. Click Save Game Settings.

Chat commands for viewers

CommandWhat it does
!gamesLists the games.
!balance or !balShows their coins.
!dailyClaims the daily coins.
!slots [bet]Three reels. Three matching symbols pay 10×, two pay 2×.
!coinflip heads|tails [bet]Correct guess pays 2×.
!dice high|low [bet]1–3 is low, 4–6 is high. Correct pays 2×.
!8ballA random answer. No coins needed.
!blackjack [bet]Beat the dealer. A natural blackjack pays 2.5×.
!roulette red|black|green [bet]Red/black pay 2×, green pays 14×.
!higherlow higher|lower [bet]Guess the next card value.

The Top Players leaderboard has a Refresh Leaderboard button. Reset All Player Balances (red) wipes everyone's coins. It can't be undone.

13. Community Tools

What this is: the Community page in the SnapShield desktop app contains interactive tools for your Twitch viewers: giveaways, a subathon timer, counters and two overlay games. Each one shows on a SnapShield OBS overlay and is controlled from Twitch chat or the app.

Tool What it does
Giveaways Run chat giveaways with moderator commands, Channel Points entries and a spinning winner animation.
Subathon A stream timer that grows with follows, subs, gifted subs, bits, raids and Channel Points rewards.
Counters Counters, timers and countdowns, such as a death counter, controlled by chat commands.
Snake Invaders An overlay game where chat joins a snake that races to the bottom of the screen past guns.
SnapDungeon An overlay dungeon raid where viewers join as heroes, fight monsters and collect items.

The Community page also contains the Games tab, covered earlier in this guide.

The full setup steps, commands and troubleshooting for each Community tool are in the Community Tools Guide. Twitch must be connected and an overlay must be added to OBS before any of them will show on stream.

14. Twitch → Discord

What this is: automatically post things that happen on Twitch into a Discord channel. Log in on the Discord page first (section 4).

  1. Open Stream Analytics and choose the Twitch → Discord tab.
  2. Tick Enable bridge.
  3. Choose the Discord channel. The list shows the channels you authorised.
  4. Tick what you want sent:
    • Twitch chat → Discord – every chat message (can be busy!).
    • Twitch raids → Discord
    • New followers → Discord
    • Stream online/offline → Discord
    • Subscriptions / resubs → Discord
    • Bits → Discord
  5. Edit the Twitch message format if you want. Use {event}, {message} and {username}. The default is 🎬 {event}: {message}.
  6. Click Save Bridge Settings.

Messages from Discord can't be sent back into Twitch chat from the desktop app.

15. Stream Analytics

What this is: SnapShield keeps simple stats about your stream: live minutes, chat messages, unique chatters, raids, new followers, bits and subscriptions. It can also post a summary to Discord while you're live.

  1. Open Stream Analytics.
  2. Set Analytics enabled (1/0): 1 collects stats, 0 stops.
  3. Choose a Discord summary channel (or None to keep the stats private).
  4. Set Summary interval in minutes.
  5. Click Save Analytics Settings.

The numbers are shown on the page. Stats are collected while the bot is connected.

16. Diagnostics

What this is: the Diagnostics page is your health check and safety net. Open it first if something isn't working. It tells you which parts of SnapShield are running, and it holds the backup, restore, reset and update tools.

16.1 Status cards

Click Run Diagnostics to check everything (it also refreshes itself every few seconds). The coloured summary at the top shows how many services are running.

CardWhat it tells you
Discord LoginWhether you're logged in to Discord and how many channels are authorised.
Twitch IRCWhether the bot is connected to Twitch chat and whether your logins are healthy. It also warns when an account needs reauthorization.
Overlay ServerWhether the local overlay server for OBS is running. If it's stopped, OBS browser sources won't update.
Connection WatchdogWhether automatic reconnect checks are active (every 10 seconds).

A green/online card means all is well. Grey/offline tells you what to do, for example "Connect it from Accounts".

16.2 Backup Settings

Saves all your SnapShield settings into one file.

  1. Click Backup Settings.
  2. Choose where to save it.

Make a backup before big changes, before updating, and before moving to a new PC. Keep it private, because it contains your login tokens.

16.3 Import Settings

Restores a backup file.

  1. Click Import Settings and pick a backup file.
  2. SnapShield replaces your current settings with the backup and restarts.

16.4 Reset All Settings

Puts every setting back to how it was on first install.

  1. Click Reset All Settings (red).
  2. A confirmation box appears. It automatically cancels itself after 30 seconds if you do nothing.
  3. Click Reset Settings to confirm, or Cancel to keep everything.

This logs out your accounts and deletes your commands, alerts, filters and other settings. Take a backup first if you might want them back.

16.5 Check for Updates

SnapShield checks for updates by itself a few seconds after it starts. If there is a newer version, a box asks "Version X is available. Update now or later?". Click Update now to install straight away (SnapShield downloads it, restarts and reopens on the new version), or Later to carry on. It never updates without asking, so it will not restart in the middle of a stream. If you click Later, the bottom of the left menu keeps showing Update available. You can also check any time:

  1. Click Check for Updates. The line next to the button says whether you're up to date or which version is available.
  2. If there's an update, the button becomes Download & Install Update. Click it. A progress bar shows the download, and SnapShield checks the file is genuine.
  3. Click Install & Restart. SnapShield closes, the updater replaces it, and SnapShield reopens on the new version, usually within a few seconds.

Your settings, logins and logs are kept. If anything goes wrong, the updater puts your old version back and shows a message. The details are in logs\updater.log. Make sure SnapShieldUpdater.exe is still in the same folder as SnapShield.exe; if it's missing, download the full package again from the website and copy it in.

16.6 Quick fixes using Diagnostics

What you seeWhat to do
Twitch IRC is offlineGo to Accounts and click Connect Twitch Bot.
"Needs reauthorization"On Accounts, log out and log in again.
Overlay Server stoppedRestart SnapShield. If it keeps happening, check that nothing else is using the overlay port.
Discord Login offlineOpen Discord and log in.

17. Tokens (placeholders) reference

Put these in {curly braces} inside any text field. SnapShield swaps them for real values when the message fires.

Everywhere: {user} (who triggered it), {channel} (your channel name)

WhereTokens
Follow alert{user}
Raid alert{user} (the raider), {viewers}
Subscription alert{user}, {tier}, {months}
Gift Sub alert{user} (gifter), {recipient}
Mass Gift Sub alert{user} (gifter), {count}
Channel Points / Power Ups{user}, {reward_title}, {cost}, {user_input}
!uptime{uptime}
!followage{followage}
!shoutout and anything using a target{target}, {target_game}
!commands{commands_list}
After a Create Clip step{clipUrl}, {clipTitle}, {clipId}, {username}
Basic Player track start{track}, {artist}, {album}, {duration}, {folder}
Song requests{track}, {artist}, {album}, {duration}, {url}, {requested_by}
Twitch → Discord format{event}, {message}, {username}
Discord clip auto-post{username}, {clipTitle}, {clipUrl}

About {target}: for any command, {target} is the first name typed after it (for example !hug somebody). If no name is given, it's whoever typed the command.

18. Troubleshooting

The bot is online but doesn't answer commands

  • Check the command is Enabled and your Minimum Permission isn't higher than the person typing.
  • Check it isn't still on cooldown.
  • Make sure you typed it exactly, including the !.

Timeouts and bans don't work

  • The acting account must be a moderator. If you use a bot account, type /mod YourBotName in your chat.
  • Moderators and the broadcaster are never moderated, so test with a normal viewer account.

Twitch login fails or says it needs reauthorization

  • On Accounts, click Log Out, then log in again and approve everything Twitch asks for.

Clips fail

  • You must be live and have Clips enabled on your channel.
  • Log the streamer account out and in again so Twitch grants clip permission.

Overlay is blank in OBS

  • Keep SnapShield open. Check Diagnostics → Overlay Server says it's running.
  • Re-copy the address from the Overlay page, and use Test on an alert.
  • In OBS, right-click the browser source and choose Refresh cache of current page.

Discord test message doesn't arrive

  • On the Discord page, select the channel and click Send test again. If it still fails, Remove the channel and add it again with Log in with Discord / Add channel.
  • Check you picked a channel you have permission to post in, and that the webhook wasn't deleted in Discord's channel settings (Integrations).

SnapShield won't open or crashes on start

  • Look at the newest file in the logs folder.
  • If a recent settings change caused it, go to a backup (Import Settings) or remove the setting file that was changed.

Still stuck? Run Diagnostics, take a screenshot of the status cards, and send it along with the latest file from your logs folder. Never share your data folder.