13 topics

Twitch and your stream

SlakBot connects your Twitch channel to your Discord server. It can join your Twitch chat as a chatbot, give your subs a Discord role automatically, announce when you go live, post new clips, keep a goal bar up to date and keep your stream statistics. You set everything up under the Twitch & Stream group in the panel. Link your Twitch channel first: many parts need it.

Linking your Twitch channel

Where to find it: Panel → Twitch & Stream → Twitch Sub Roles → button '💜 Link your Twitch channel' (the same button is also on Twitch Chat-bot, card 🤖 Status)

Many Twitch features only work once SlakBot has access to your own Twitch channel: the chatbot, sub roles, a goal based on your subs or followers, and !clip. You link it once, through Twitch's own login screen.

Steps

  1. Open Twitch Sub Roles and click 'Link your Twitch channel'.
  2. Log in to Twitch with your channel's account and allow everything Twitch asks for.
  3. Back in the panel it says 'Connected as @yourchannel'.
  4. Click 'Test connection' to check that Twitch passes on your subscribers.
Note
  • Does something not work later, such as !clip or changing your stream title? Click 'Reconnect' and allow everything. You won't lose any settings, commands or coins.
  • 'Disconnect' stops the sub roles and the chatbot, and deletes the stored access. If you link again later, switch 'Auto-assign sub roles' and 'SlakBot in my Twitch chat' back on.

Switching on the Twitch Chat-bot

Where to find it: Panel → Twitch & Stream → Twitch Chat-bot → card 🤖 Status (at the top) and section ⚙️ Basics → card ⚙️ Settings

SlakBot can read along in your Twitch chat and reply. The chatbot is OFF by default. The 🤖 Status card shows whether your channel is linked and when the bot last saw a chat message. If the bot can't talk, it tells you why there, in plain language.

Steps

  1. Link your Twitch channel first.
  2. Turn on 'SlakBot in my Twitch chat' and click 'Save'.
  3. In your own Twitch chat, type /mod followed by the bot name shown on the 🤖 Status card.
  4. Optionally change 'Prefix' (default !) and 'Global cooldown (seconds)' (default 2).
  5. Want a greeting? Turn on 'Greet new chatters' and fill in a 'Greeting text'. {user} becomes the viewer's name. Without a text there is no greeting.
Note
  • Always make the bot a moderator. Otherwise 'followers only', slow mode or AutoMod block its messages, and it can't moderate or see silent viewers.
  • Do you see '🔒 Closed beta'? Then the chatbot hasn't been opened up for your server yet. Click 'Request access ↗'.
  • You change your stream title and category on the card '🎬 Stream info (title + game)'. This works after 'Reconnect'. Mods and you can also do it in chat with !title and !game.

Commands

/mod <botname> (in your Twitch chat) Makes SlakBot a moderator in your channel.
!title <text> Shows the stream title. Mods and you can change it this way.
!game <category> Shows the category. Mods and you can change it this way.

Commands and timers

Where to find it: Twitch Chat-bot → section ⚡ Commands

Some commands work straight away, such as !uptime, !so, !followage and !commands. !commands posts a link to a public page listing all your commands. You can also make your own commands with a fixed reply, and timers that post a message in your chat every so many minutes.

Steps

  1. Under '⚡ Add command', enter the name without !, and choose 'Who can use it' and a cooldown.
  2. Write the 'Response'. Variables such as {user}, {touser}, {count} and {random 1-6} are listed on the card '📖 All variables'.
  3. Click '➕ Add'. The command now appears under '📋 My commands', where you can edit or delete it.
  4. For a timer, fill in a name, message, 'Interval (minutes)' and 'Min. chat lines in between' under '🕒 Add timer'.
  5. Coming from Nightbot or StreamElements? Use '📥 Import from Nightbot / StreamElements'.
Note
  • 'Commands on' and 'Timers on' are on by default. If you turn 'Commands on' off, SlakBot won't respond to any command.
  • A timer only posts when enough chat messages have come by since the last time (5 by default). In a quiet chat it stays quiet.
  • !followage only works properly when SlakBot is a moderator.
  • When importing, your token is not stored; SlakBot uses it once.
  • Mods can also manage commands from chat with !addcom, !editcom and !delcom.

Commands

!commands Link to the public page with all your channel's commands.
!uptime How long the stream has been live.
!so <name> Shoutout for another streamer (mods).
!followage How long a viewer has followed you.
!addcom <name> <response> Create a new command from chat (mods).

!clip with length and title

Where to find it: Twitch Chat-bot → section ⚙️ Basics → card ⚙️ Settings → '📎 Allow !clip'

Viewers use !clip to make a clip of your live stream. Without a number the clip gets Twitch's default length (30 seconds). With !clip 45 they choose a length from 5 to 60 seconds. With !clip 45 nice play (or !clip nice play) the clip also gets a name.

Steps

  1. Click 'Reconnect' at the top and allow everything. You need this if your channel was linked before.
  2. Turn on '📎 Allow !clip' (on by default).
  3. Choose 'Who can use !clip' (everyone by default) and 'Who can set a clip title' (mods by default).
  4. Set '!clip cooldown (seconds)' (default 60) and click 'Save'.
Note
  • Clipping only works while you're live.
  • The cooldown applies per viewer. Mods and you skip it.
  • A clip title is public on your channel. Links are removed and it's cut to 100 characters. If Twitch rejects the title, the clip is still made with the default name.
  • If someone without permission types a title, the clip is still made, without that title.

Commands

!clip Clip of the last 30 seconds.
!clip 45 Clip with your own length (5 to 60 seconds).
!clip 45 nice play Clip with length and title.

Moderation in your Twitch chat

Where to find it: Twitch Chat-bot → section 🛡️ Moderation

SlakBot can remove messages that break your rules: links, too many caps, symbols or emotes, spam, messages that are too long and banned words. The first time, the message is removed; on a repeat within 5 minutes, a timeout follows. There is also a separate filter for known scam and phishing links, which acts straight away. This only applies to your Twitch chat.

Steps

  1. Make SlakBot a moderator with /mod in your Twitch chat.
  2. Turn on 'Moderation on' and switch on the filters you want.
  3. Choose whether 'Exempt subs' and 'Exempt VIPs' stay on, and fill in 'Timeout on repeat (seconds)' (default 600).
  4. Turn on 'Block scam / phishing links' and choose the 'Action on a scam hit' (default 'Delete + timeout').
  5. Click 'Save'.
Note
  • 'Moderation on', all filters and the scam filter are OFF by default. 'Exempt subs' and 'Exempt VIPs' are ON by default.
  • The scam filter also works when 'Moderation on' is off, and it applies to subs and VIPs too. Mods and you are never moderated.
  • The scam filter knows known scam links. A brand-new link can still get through.
  • Without moderator rights SlakBot can't remove anything; the message then stays.
  • Discord moderation is set up separately, in the group Moderation & safety (Discord).

Commands

!permit <name> A mod briefly allows someone to post a link.
!nuke <text> A mod removes all messages from the last 5 minutes containing that text at once.

Watch time and leaderboards

Where to find it: Twitch Chat-bot → section 🪙 Economy → cards '⏱️ Watch time → coins' and '🏆 Activity & leaderboard'

SlakBot counts per viewer how many messages they sent in your chat and, when 'Reward watch time' is on, how long they watched. Viewers see their own total with !watchtime and the top lists with !topchat and !topwatch. You can also turn it into a public page to share.

Steps

  1. On '⏱️ Watch time → coins', turn on 'Reward watch time' and click 'Save'.
  2. Leave 'Only while live' on. Then watch time only counts while you're live.
  3. Want a public leaderboard? On '🏆 Activity & leaderboard', turn on 'Public leaderboard on' and click 'Save'.
  4. Copy the link under 'Your leaderboard page' and share it, for example in your Twitch panels.
Note
  • This only works when 'SlakBot in my Twitch chat' is on. Messages then always count; watch time only when 'Reward watch time' is on (OFF by default).
  • 'Active chatters only' off (the default) also counts silent viewers, as far as Twitch shows them. SlakBot must be a moderator for that. If that fails, only people who said something in chat are counted.
  • 'Public leaderboard on' is OFF by default.
  • Only viewers who linked their Discord (with !link) earn coins for watch time, and only when your server's economy is on.
  • A viewer opts out with !privacy, in all SlakBot channels at once. Their watch time and message count are then deleted. With '!privacy on' they are counted again.

Commands

!watchtime [name] Total watch time and message count for yourself or someone else.
!topchat Who sent the most chat messages.
!topwatch Who watched the longest.
!privacy Opt out: your watch time and messages are no longer tracked and are deleted.
!privacy on Be counted again.

Twitch Sub Roles

Where to find it: Panel → Twitch & Stream → Twitch Sub Roles

Members who are subscribed on Twitch automatically get a Discord role, per tier. Prime counts as Tier 1. SlakBot checks every 15 minutes who is subscribed, and right after a member links their account.

Steps

  1. Link your Twitch channel. The cards below then appear.
  2. Under '🎚️ Tier → role', choose a role for 'Tier 1 / Prime', 'Tier 2' and 'Tier 3', and click 'Save'.
  3. Under '⚙️ Settings', turn on 'Auto-assign sub roles' and click 'Save'.
  4. Ask your members to use /link-twitch in your server.
Note
  • 'Auto-assign sub roles' is OFF by default. 'Remove role when sub lapses' is ON by default; the role is only removed when Twitch confirms someone is no longer subscribed.
  • A member only keeps the role of their current tier. If you leave a tier empty, that sub gets the role of a lower tier you did fill in. If you only fill in Tier 1, all subs get that role.
  • SlakBot needs the 'Manage Roles' permission, and its own role must be above the sub roles. The panel marks roles it can't give.
  • Under '👥 Linking members' you see how many members are linked and when the last check was.

Stream Goals

Where to find it: Panel → Twitch & Stream → Stream Goals

A progress bar in a Discord channel, for example 'Road to 1000 subs'. SlakBot updates the bar when the count changes, and posts a message at 25, 50, 75 and 100 percent. For Followers, SlakBot fetches the number from Twitch itself every 10 minutes; for Subs too, when 'Auto-sync on' is off.

Steps

  1. Choose a 'Goal type': Subs, Followers, Donations or Custom.
  2. Fill in a 'Title (required)' and choose the 'Discord channel'.
  3. Fill in 'Target' and 'Current' and click 'Save'.
  4. On the card '⚡ Auto-fill', set 'Auto-sync on' as described under Good to know below, and click 'Save'.
  5. For Custom, update the count with /goal update or /goal add. For Donations, connect your tips on the Supporters page.
Note
  • Without a title SlakBot tracks nothing, even if you fill in a target.
  • Subs and Followers need your Twitch channel to be linked.
  • 'Auto-sync on' is on by default. SlakBot then adds subs and tips coming in via StreamElements or Streamlabs to every kind of goal, and for Subs it does NOT fetch your real number from Twitch. So for Subs, Followers and Custom, turn 'Auto-sync on' off. The bar and the milestone messages keep working.
  • For Donations, leave 'Auto-sync on' on and choose 'Money (€)' under 'Count method'. Otherwise every tip counts as 1. If only tips should count, also turn off 'Count subs'.
  • After 'Save', the bar only appears in Discord once the count changes. To see it straight away, type /goal update with the current count.
  • All /goal commands need the Discord permission 'Manage Server' by default.

Commands

/goal set title target [current] [type] Set a new goal. A Subs goal is chosen in the panel.
/goal update amount Replace the current count.
/goal add amount Add to the current count.
/goal show Show the goal in the channel.
/goal reset Remove the goal.

Twitch live alert and recap

Where to find it: Panel → Twitch & Stream → Twitch live alert

SlakBot checks every minute whether you're live and then posts an alert in Discord, with title, game and a thumbnail that is updated during the stream. When you stop, one closing message follows. By default this is a recap with the duration, the peak viewer count, the game and, if Twitch already has it, a link to watch the stream back.

Steps

  1. Fill in your 'Twitch Username', without @.
  2. Choose the 'Discord Channel' and optionally a 'Ping Role'.
  3. Optionally adjust the 'Message Template' with {role}, {streamer}, {title} and {game}.
  4. Choose whether 'Offline notification' and 'Stream recap' are on (both on by default).
  5. Click 'Save' and then '📤 Test message'.
Note
  • '📤 Test message' really pings your 'Ping Role'. So test without a role first, or in a test channel.
  • The recap replaces the plain offline message. If 'Offline notification' is off, there's no recap either.
  • SlakBot must be able to see the channel and send messages with embeds there.
  • Does the ping role get no notification? Then that role must be mentionable in Discord, or SlakBot must have the permission to mention all roles.
  • '🔄 Resend live message' removes the alert and posts it again with your current settings. This only works while you're live.

Twitch Clips

Where to find it: Panel → Twitch & Stream → Twitch Clips

SlakBot posts new clips from your channel in Discord, even when you're not live. During a stream it checks every minute. Once you've been offline for more than half an hour, roughly every 10 minutes.

Steps

  1. Make sure your 'Twitch Username' is filled in on Twitch live alert.
  2. Choose a 'Clip channel'. Leave it empty to use your live alert channel.
  3. Optionally choose a 'Ping role' and adjust the 'Clip template' with {creator}, {title}, {url}, {views} and {game}.
  4. Turn on 'Native Twitch player' if Discord should play the clip directly.
  5. Click 'Save' and then '📤 Test clip'.
Note
  • 'Clips notifications' is ON by default. As soon as your live alert is set up, new clips go to that channel. Don't want that? Turn it off or choose a separate 'Clip channel'.
  • '📤 Test clip' really pings your clip 'Ping role'.
  • 'Native Twitch player' is off by default.

Stream Analytics

Where to find it: Panel → Twitch & Stream → Stream Analytics

An overview of your streams: number of streams, hours live, peak viewers, your most streamed game and a list of recent streams. A stream is added as soon as it has ended.

Steps

  1. Set up Twitch live alert first, with a Discord channel. The numbers come from there.
  2. Stream once. Afterwards the stream shows up on the page.
  3. In Discord, /streamstats shows the same numbers for this week, this month or all time.
Note
  • Only streams SlakBot posted a live alert for are counted. It doesn't fetch older streams.
  • The numbers belong to this server. Other servers don't see them.

Commands

/streamstats [period] Stream statistics for this week, this month or all time.

Supporters

Where to find it: Panel → Twitch & Stream → Supporters

A ranking of your donors with their all-time total, built from tips that come in via StreamElements or Streamlabs. You can download the list as a CSV. On the same page you connect those tips, so a message also appears in Discord.

Steps

  1. On the card '💶 Connect tips (StreamElements / Streamlabs)', paste your StreamElements JWT token or your Streamlabs socket token.
  2. Turn on 'Process tips'.
  3. Choose the 'Discord channel for the tip message' and optionally a minimum under 'Only tips from'.
  4. Click 'Save'. The ranking appears with the first tip.
  5. Click 'Export CSV' for a file with all supporters.
Note
  • Without a channel for the tip message, a tip doesn't count in Supporters or in your stream goal.
  • Anonymous tips are not counted.
  • Your tokens are stored encrypted and are never shown on the page again.

Commands

/supporters wall Shows the supporter wall in Discord.
/supporters give name amount Adds a contribution by hand (needs Manage Server).