After reading this guide you’ll have a clear path forward to creating your own bot in 5 popular programming languages (including a ‘zero code, no programming required’ option), and you’ll also have a clear picture of how Discord bots work behind the scenes.
Once we have that covered, we’ll show you how to create your own discord bot with absolutely no coding, show you the easiest method to get a bot off the ground (in just 15 minutes…), and then go into some more advanced topics like 24/7 bot hosting, getting your bots online, and idea generation to help you come up with the next big Discord bot sensation.
Let’s get rolling…
What Are Discord Bots?
Discord bots are essentially “automated robots” that join your server and respond to events. You’ll see them show up in channels just like a regular user would, with the only real differentiator being their blue “bot” tag.
Your typical Discord bot has some programming/code in the background that tells it what to do when it encounters a trigger you specified. This means that when something happens in Discord, your bot sees it happen and takes action. You get to program that action.
A great example is the ping pong bot we have below. When it’s online, the bot is in my channel and actively listening to all chat messages.
Every time a chat message is sent, the bot gets a little notification from the Discord API saying, “Hey, we have a callback/event! A chat message was sent!”
The bot then reads this message and looks for the word “ping”. If it finds the word ping in the message, it responds saying, “pong!”
This is a simplified example, but that’s essentially how bots work on the back-end.
Whenever certain events happen in your Discord channel your bot gets notified through the Discord API (Application Programming Interface).
If your bot has code to handle an event, then it goes through and runs that bit of code you associated with the event.
In the ping-pong example, we created code that handles any new chat messages (our event trigger).
This code looks through any new messages for the word ‘ping”, and if it finds it, sends back a chat message through the Discord API into our channel. Our bot officially speaks!
Libraries Simplify Your Life
The good news is, there have been dozens of packages created for the Discord API making it easier to use. Instead of writing low-level code and handling a bunch of web requests, a library does all of the hard work for you.
To put it simply, libraries package up everything you can do in the Discord API into a nice, clean set of commands. You can then take these commands and create your bot with much less code and much less hassle.
We will be using Discord API libraries throughout this guide to make all of this information easier to digest and easier to follow. In fact, we don’t see why you wouldn’t use a library! It’s highly recommended, and it’ll save you a bunch of time.
Discord Bots: Behind the Scenes
We talked about how Discord bots work in a general sense, but let’s get into the details a little bit.
Take a close look at the diagram below:
Discord users, people who are connected to your server, are on the left.
The official Discord server and API, maintained and run by Discord itself, is in the middle.
Your bot server is on the right and can be running on either your personal computer or an official hosted server that runs 24/7.
And finally, your bot code also on the right. This is the actual code behind your bot that lets it do what it needs to do.
These are the four primary elements of any Discord bot.
Discord users interact in a channel, send messages, and take certain actions.
Your bot (running on your server) then interacts with Discord through their API, figures out what events or triggers happened, and reacts in a pre-programmed way.
What is OAuth2 and How Does it Work?
Your Discord bot connects to the Discord API through “OAuth2”. This is also how you add bots to channels — using OAuth2 requests.
We’re not going to dive into OAuth in detail right now, but you should remember that OAuth2 is how you’re able to add a Discord Bot to your server as well as login/authenticate with the Discord API.
Its real power is when you realize you can do all of this without giving out your Discord username and password. It all works off of temporary access codes called “tokens”. This is the beauty of OAuth2.
Advice for Beginners:
And although it’s good for you to know what it is, it’s highly unlikely you’ll actually be programming anything at such a low level if you’re using libraries (as we suggest throughout the rest of this guide).
Advice for ‘Code Monkeys’:
If you’re feeling adventurous and willing to tackle some low-level code, you can skip the library altogether and write each individual web request. It’s much more challenging, but at the same time, you’ll learn significantly more through the struggle.
A Lot of What You Need Can Be Found On GitHub and StackOverflow
GitHub is the modern equivalent of “open source heaven”, as we like to call it. Every project that’s made public can be accessed, modified, “branched”, and downloaded.
If you go to GitHub Explore, type the keyword “discord bots”, and browse around, you’ll find thousands of great code examples for you to use.
Whenever you get stuck, remember that someone has likely encountered and solved the same problem at least once before. You can browse around GitHub for code examples and some inspiration.
And in case you don’t find the answer to your question on GitHub, StackOverflow is guaranteed to have the answers you need.
If you’ve never heard of StackOverflow, it’s essentially a Question & Answer forum for programmers and developers. It’s the “Quora of Programming”. Hop on, do a quick search, or even post your own question if you’re looking for an expert opinion.
The only thing I can guarantee is, if you don’t ask, you won’t get answers!
Always ask and search around if you’re stuck for more than ~30 minutes to an hour trying to figure out a problem on your own.
The Ultimate Tutorial Awaits…
Now that we’ve covered the basics, you should be primed and ready to go forward with creating your first Discord bot.
You have an understanding of how Discord bots work behind the scenes, and you know how to get help when you need it.
The most important thing is to stick to one single programming language or platform for bot development and master it.
If you keep jumping from platform to platform, language to language, you won’t get anywhere. But if you focus on one singular goal and create your first bot without any interruptions — you’ll be well on your way to botting success!