- Basic guide for the average discord bot, and how they work!
- Basic guide to SBM
- SBM for professionals
Discord bots are popular methods of creating automations for a certain Discord guild. They're programmed applications that reply to interactions pointed at them. The average discord bot uses prefixes! They're characters or quick words that tell the bot "Hey there bud, this one's for you!" that are added before a command name. Most common prefixes are: ">" "!" "?" "." and "&"
What's needed to create and run a Discord bot? Well, first off you need a way to create the bot, both in terms of the bot in itself and it's code. To create the bot's profile, check out: Discord Developer Portal. Whether it's via SBM or making your own (with libraries such as discord.js, discord.py etc), you'll always have to host the bot. Applications like "BotGhost" ( some sort of discord bot maker, but with little to no customization in terms of bot functionality) host it for you, but there's tradeoffs to it, unless you pay for it! Let's list off what we need for now:
- The bot in itself
- The bot's code
- A way to host the bot (Strongly Reccomended: Phantom Hosting) (Other Bot Hosts (Low-End, Slow): BOTSHARD - Free | | Bot-Hosting.net | Vexy Host)
--- Now, you might see a blank command pane, therefore, in order to create yourself a command, just how you see above, hit the "+" icon! Thank me later ;)
SBM's UI is way easier than it seems, trust me!
Now, let's understand how SBM's controls look like for a moment:
- The first icon, a "+" sign, you'll get more of it later on!
- The second button, contains two sub-buttons. One has an arrow pointing upwars, another downwards. It moves the currently highlighted object up or down!
- The third button contains two icons: Switch Objects, Project Home; (more on switch objects just now)
What the heck is SWITCH OBJECTS?!?!?!?! ehehe, the name makes it sound way more difficult than it is. Let's understand how flexbile the left object pane gets:
The 3 images above and their descriptions should be self explanatory: there's one element for everything: Displaying Action Groups, Displaying an Action Group's Actions, and Displaying the Action Editor Controls!
Now, the first 2 images can be switched from one another easily: You can view an action group's actions by hitting the switch objects button! (And view the actions' action group, so on!) (Example)
Please note: You can double click on the action group to display it's actions, but can also use the switch objects button whilst it's highlighted! Double clicking an action switches everything to the action editor mode!
Got the hang of it yet? Great! Then let's move on to the 3rd primary UI object: The modifier pane. What exactly is the modifier pane? Well, it's the pane that can modify stuff, obviously! Here's how it would look: What you can see above is a group's modifier pane. The group's name, and the group's trigger. When text command (or slash command) is selected, the group's name is also set as the command needed to invoke to use that group! Under the group's trigger, you see three buttons:
- Group Trigger
- Duplicate (Action Group Only)
- Command Options
Let's go through each one of them:
The group trigger is what triggers each command. The primary type of triggers are: Event, Command We'll discuss later on about events, but for now, let's learn how to use group triggers correctly!
Ignoring the "Command" and "Event" buttons, let's move on to the bottom row of the group trigger menu:
- Text Command: A command that can be triggered via the prefix, followed by the group's name!
- Slash Command: A command that can be triggered via Discord.js slash commands! More on them later!
- Mesage: When a random message is sent, and it includes the group's name, it triggers the group! There's no need to add the prefix when using message!
Not much to explain, it just duplicates the highlighted action group
(example of group trigger and action group) https://user-images.githubusercontent.com/100881234/236053285-54a29993-49f6-485c-813c-fd96dfe1980e.mp4
You might have noticed the action group is not yet available for text commands. That's going to change over the next 12 months! Right, later on we'll discuss what the heck was the slash command menu and why it looked so weird!
Whilst SBM is quite simple to understand, slash commands aren't, and in order to accomodate for their use, they've dragged down SBM. Fortunately, getting the hang of them isn't as hard as you think. Let's get started!
In order to initialize a slash command, please refer to this To start, hit the "Options" button!
This menu should pop up!
Now, go on and give your slash command a short description of your choice!
side note: your slash command's name shouldn't have any spaces nor any caps. That's all of it... unless you want to add parameters to your slash command! In order to do so, hit the "+" button!
You should now see this:
(Click on the parameter twice to rename it!)
side note: your parameter's name shouldn't have any spaces nor any caps.
String: Some Text
Woohoo! I'm a string!
Integer: A number
10101000 Boolean: A true or false choice true Channel: A channel from the slash command's guild! #cat-pics User: A member of the slash command's guild! @TheAlmightyRat Role: A role of the slash command's guild! @Admin Mentionable: Either an user, role, or a member! #cat-pics @Admin @TheAlmightyRat
Now that you've got the hang of parameter types, let's tilt our heads a little upwards. What do we see?
Ahh yes... require parameter! Now, what it does is quite simple trust me: If a parameter is required, the user must fill it out in order to execute the slash command. If not required, the user can choose the parameter only if they wish to!
side note: required parameters must be put first before non-required parameters!
Alright, now that you know that, let's look below the surface. What else do we see?
Guessed it right! Parameter description! It's quite literally just like the slash command description but for parameters
Just like slash commands descriptions, parameter descriptions are also required.
In order to open the SBM Project Home menu, click the button with an arrow pointing upwards inside a circle
You should now see this!
Alright, now click the "Buttons" button on top! (How ironicccc)
If this is your first time, then you will see this, prompting you to Build the button registry! Obviously, click "Build"!
Now that you've built the button registry, you should see this!
To get started, hit the "Edit" Button of any Button Bar you wish modify!
Your view should now look something like this:
Hit the "+" button to create buttons!
Now that you've created your first button, let's personalize it so it matches our command wants!
All buttons have 3 essential values: Labels, Custom IDs and styles! Let's for now focus on the first 2!
What is a label? Well, simple answer: It's the text you see on a button! Now, what about custom IDs? Well, they're simply identifiers that can help you out later on when you want to handle the press of a button!
Right.. but what about button styles?
Well, they're basically the background colors of buttons! SBM provides a handy lil' dot to show each color on the right side of the style! There's not much to explain about them, so let's just move onto Button Bars
Basically Action Groups But For Buttons! (BAGBFB™️)
Let's now take a compatible action with the ability of doing so!
If you open up a send embed action and look to the bottom right, you'll see the "Action Rows" button!
After clicking that button, you'll see 5 panes saying "Empty Slot" Click a pane to occupy a slot. It's that simple!