DiscoBot - Discord Integration for Live Streaming
This extension adds the ability to not only trigger actions in your stream from Discord events, but also to use commands or actions to accomplish things within your server. You now have the ability to Assign Roles, move users to different Voice Channels, Ban Users, generate Guild Invites, and more!
How-To Incorporate DiscoBot for Discord in Your Live Stream Video Tutorial
<< VIDEO COMING SOON >>
Download from Ko-fi
Creating a new bot in Discord Developers Portal
You must have Administrator rights in the server you wish to invite the newly created bot to. Streamer.bot MUST be running for the bot to be 'Online' and respond to Actions
or to Trigger
events.
The first thing we need to do is get our Bot Token
. To do that we are going to head to the Discord Developers Portal, login, and press New Application
Name the application, agree to the terms, and press Create
On the left side of the screen, press the Bot
Setting. From there, you MUST check (turn on) the following 3 items:
- Presence Intent
- Server Members Intent
- Message Content Intent
Once you do, press the
Save
button in the lower righthand corner of the screen.
IMPORTANT, press Reset Token
...a pop-up will show up, press Yes, do it!
and you'll be returned to the previous screen.
You MUST Copy this Token as this is the only time you'll ever see it (Don't worry I rolled a new one from the attached image already). After pressing the copy button, I'd recommend pasting it to a wordpad or password manager so you can reference it again in the future in the event you need to.
Navigate to the Installation
tab on the left, then scroll down to the Default Install Settings
and make sure you have the applications.commands
and bot
'Scopes'. Under 'Permissions' ensure to give it Administrator
.
While still on the Installation
tab, scroll up to the 'Install Link' section then press the Copy
button. Paste this into a web browser and add the newly created bot to your server.
Setting Up DiscoBot Discord Integration in Streamer.bot
In Streamer.bot click the Import
button in the top menu. Drag the downloaded .sb file into the Import String
field and click Import
. You will see 10 Actions
, 1 Queue
, and 6 Commands
.
- Head over to the
Commands
Tab and type 'disco' in theFilter
box. - Right-Click on the Group Name (DiscoBot) and select 'Enable All'.
- Feel free to edit any of the
Command
names, or add additional aliases to better fit you.
Setting Your Discord Bot Token in Streamer.bot
Navigate back to the Actions
tab, find the Action
titled Mustached_Maniac DiscoBot [MAIN CODE]
, press the +
sign on the Bot Token
Group to expand it. Double-Click on the 'Set Argument' Sub-Action
and paste YOUR bot token from earlier, then press Okay
.
Go up to the Streamer.bot Started
Trigger, Right-Click, and press Test Trigger
.
Congrats, you did it! You should get a Windows Toast Notification shortly indicating that DiscoBot is successfully connected.
Available Actions for Discord Integration
Each of the Actions
provided with the extension can be tied to a Command
, another Action
, Channel Point Redeem
, or whatever best fits your situation. Any of them can be duplicated to be re-used with separate arguments. (i.e. you can have multiple Add Roles
Actions
to award different roles for different scenarios).
All required arguments are included with each Action
and also accept %arguments%
for their values
Adding Discord Roles with Streamer.bot
This Action
can be used to assign an already-existing Discord role to a user. The user must already be a member of the Discord Server.
Required Arguments:
discord.User
- The Discord username, Discord user ID, or Discord server nickname of the user you wish to grant the role todiscord.Role
- The Discord role name, or Discord role ID, you wish to assign to the user- Special Note-If using with a
Command
, keep%input0%
and%input1%
as the values (multi-word role names won't work unless you add another argument combining extra inputs)
Action
will populate discord.AddRoleSuccess
with a value of True
or False
. This argument can be used to 'continue' or 'break' your Sub-Action
logic.
Removing Discord Roles with Streamer.bot
This Action
can be used to remove an already-existing Discord role from a user. The user must already be a member of the Discord Server.
Required Arguments:
discord.User
- The Discord username, Discord user ID, or Discord server nickname of the user you wish to grant the role todiscord.Role
- The Discord role name, or Discord role ID, you wish to remove from the user- Special Note-If using with a
Command
, keep%input0%
and%input1%
as the values (multi-word role names won't work unless you add another argument combining extra inputs)
Action
will populate discord.RemoveRoleSuccess
with a value of True
or False
. This argument can be used to 'continue' or 'break' your Sub-Action
logic.
Create Discord Server Invite with Streamer.bot
This Action
can be used to generate a new Server Invite for your guild.
Required Argument (one of the following):
discord.ChannelID
- The Discord Channel ID that you're inviting the users to join (welcome channel, rules channel, etc)discord.ChannelName
- The name of the Discord channel that you're inviting the users to join (welcome channel, rules channel, etc)- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.channelID
will overridediscord.ChannelName
Optional Arguments:
discord.MaxAge
- Maximum number of SECONDS the invite will remain active (defaults to 24 hours (86400 seconds))discord.MaxUses
- Maximum number of uses for the invite (defaults to unlimited)
Action
will populate discord.InviteSuccess
with a value of True
or False
. This argument can be used to 'continue' or 'break' your Sub-Action
logic.
Also populates discord.InviteLink
to be used throughout the rest of your Sub-Actions
.
Send Message to Discord Channel with Streamer.bot
This Action
can be used to send a message to a Discord channel. It gives you the flexibility to easily ping members and even include attachments!
Required Argument (one of the following):
discord.ChannelID
- The Discord Channel ID that you're inviting the users to join (welcome channel, rules channel, etc)discord.ChannelName
- The name of the Discord channel that you're inviting the users to join (welcome channel, rules channel, etc)- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.channelID
will overridediscord.ChannelName
- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.Message
- The message contents that you want to post
Optional Arguments:
discord.MentionRole
- You can use either the DiscordRole ID
or plain textRole Name
discord.FileAttachment
- Use either the local file path to the media, or an%argument%
with the file path
Action
will populate discord.SendMessageSuccess
with a value of True
or False
. This argument can be used to 'continue' or 'break' your Sub-Action
logic.
Send Embed to Discord Channel with Streamer.bot
This Action
can be used to send an embed to a Discord channel. It gives you the flexibility to easily ping members and even include multiple attachments, media links, and more!
Required Argument (one of the following):
discord.ChannelID
- The Discord Channel ID that you're inviting the users to join (welcome channel, rules channel, etc)discord.ChannelName
- The name of the Discord channel that you're inviting the users to join (welcome channel, rules channel, etc)- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.channelID
will overridediscord.ChannelName
- Special Note-You only need one of the above 2 listed arguments. If both are provided,
Optional Arguments:
discord.Message
- The message contents that are OUTSIDE of the embedded messagediscord.EmbedMention
- You can use either the DiscordRole ID
or plain textRole Name
discord.EmbedColor
- Utilizes the built-in Streamer.botColor Picker
to set the embed colordiscord.EmbedTitle
- Sets the title for the embeddiscord.EmbedURL
- Sets the clickable link for the embed titlediscord.EmbedDescription
- Sets the text within the body of the embeddiscord.EmbedThumbnail
- Sets the thumbnail image for the embeddiscord.SubHeader1
- Sets a subheader for the embeddiscord.SubDescription1
- Sets the text beneath the first subheader in the embeddiscord.SubHeader2
- Sets a second subheader for the embeddiscord.SubDescription2
- Sets the text beneath the second subheader in the embeddiscord.EmbedImage
- Sets the main image for the embeddiscord.EmbedFooter
- Sets the footer text for the embeddiscord.FileAttachment
- Use either the local file path to the media, or an%argument%
with the file pathdiscord.EmbedWatchButton
- AcceptsTrue
orFalse
to display aWatch Now
button beneath the embed
Action
will populate discord.SendEmbedSuccess
with a value of True
or False
. This argument can be used to 'continue' or 'break' your Sub-Action
logic.
Delete Message or Embed from Discord Channel with Streamer.bot
This Action
can be used to delete a message or an embed from a Discord channel.
Required Argument:
discord.ChannelID
- The Discord Channel ID that you're inviting the users to join (welcome channel, rules channel, etc)discord.ChannelName
- The name of the Discord channel that you're inviting the users to join (welcome channel, rules channel, etc)- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.channelID
will overridediscord.ChannelName
- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.MessageID
- The message or embed ID that you'd like to delete
Action
will populate discord.DeleteMessageSuccess
with a value of True
or False
. This argument can be used to 'continue' or 'break' your Sub-Action
logic.
Twitch 'Going Live' Announcement with Streamer.bot
This Action
is a little bonus that you can just delete if you're not interested in it. With this Action
, all the formatting and guess work has been done for you, allowing you to completely remove Streamcord (or any other service providing this for you), and have everything handled in Streamer.bot!
Required Argument:
discord.ChannelID
- The Discord Channel ID that you're inviting the users to join (welcome channel, rules channel, etc)discord.ChannelName
- The name of the Discord channel that you're inviting the users to join (welcome channel, rules channel, etc)- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.channelID
will overridediscord.ChannelName
- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.Message
- Update this text for your 'Going Live' messagediscord.EmbedMention
- Update this to the DiscordRole ID
orRole Name
if you'd like to ping your server members
That's it, everything else is ready to go out of the box. The other arguments can be adjusted if you'd like to change the title, description, add the game category as a subheading, etc. but are NOT required to be changed for it to work.
Additionally, it will store a non-persisted global variable named twitchLiveEmbed
which can be used on Stream End
to delete the embed when you're done streaming if you'd like.
YouTube 'Going Live' Announcement with Streamer.bot
This Action
is a little bonus that you can just delete if you're not interested in it. With this Action
, all the formatting and guess work has been done for you, allowing you to completely remove Streamcord (or any other service providing this for you), and have everything handled in Streamer.bot!
Required Argument:
discord.ChannelID
- The Discord Channel ID that you're inviting the users to join (welcome channel, rules channel, etc)discord.ChannelName
- The name of the Discord channel that you're inviting the users to join (welcome channel, rules channel, etc)- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.channelID
will overridediscord.ChannelName
- Special Note-You only need one of the above 2 listed arguments. If both are provided,
discord.Message
- Update this text for your 'Going Live' messagediscord.EmbedMention
- Update this to the DiscordRole ID
orRole Name
if you'd like to ping your server members
That's it, everything else is ready to go out of the box. The other arguments can be adjusted if you'd like to change the title, description, add the game category as a subheading, etc. but are NOT required to be changed for it to work.
Additionally, it will store a non-persisted global variable named youtubeLiveEmbed
which can be used on Stream End
to delete the embed when you're done streaming if you'd like.
Custom Discord Triggers for Streamer.bot
DiscoBot comes with 42 Custom Triggers that you can use to fire off events in Streamer.bot. To access the custom triggers, click on an Action
, then go to the Trigger
section, Right-Click within that box, and go to Custom
-> Discord Server
and select whichever Trigger
you'd like to use on that Action
.
The Triggers
can be broken down into 8 different categories, click a Tab below to see all available Triggers
for each one of the categories.
Name | Description | |
---|---|---|
Server Boosted | Triggered every time the server is boosted | |
Server Boost - Level 1 | Triggered when the server boost level reaches 1 | |
Server Boost - Level 2 | Triggered when the server boost level reaches 2 | |
Server Boost - Level 3 | Triggered when the server boost level reaches 3 |
Example Discord User Joins Voice Channel Action
The below example Action
ships with DiscoBot. It simply uses the User Joined Voice Channel
custom Trigger
and utilizes the discord.DisplayName
and discord.ChannelName
arguments within a Twitch chat message.