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
Savebutton 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
CommandsTab and type 'disco' in theFilterbox. - Right-Click on the Group Name (DiscoBot) and select 'Enable All'.
- Feel free to edit any of the
Commandnames, 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.channelIDwill 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.channelIDwill 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 IDor plain textRole Namediscord.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.channelIDwill 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 IDor plain textRole Namediscord.EmbedColor- Utilizes the built-in Streamer.botColor Pickerto 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- AcceptsTrueorFalseto display aWatch Nowbutton 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.channelIDwill 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.channelIDwill 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 IDorRole Nameif 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.channelIDwill 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 IDorRole Nameif 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.

