Discord Bots 1: Introduction

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[TRAIN WHISTLE] Hello. OK, I have to admit something to you. This is a substitute train whistle. But this is not a substitute Coding Train video. I'm so excited about what I am embarking on today, a new tutorial sequence about how to make your own Discord bot. I hope that by the end of all these videos, however many I end up making, you'll be able to have your own bot up and running in your own Discord server, or a server that you participate in. Now, if you haven't already joined the Coding Train Discord, [TRAIN WHISTLE] oh dear, I'm so sorry. If we could get the sound effect of the actual train whistle. [TRAIN WHISTLE] Please come and join. I'll put an invite to the Coding Train Discord server in the video's description. If you don't have a Discord account, you're going to need to sign up for one. But guess what, you'll need one to make your own Discord bot. Please, the first thing you should do is go to read me, where there is a code of conduct and a set of rules and expectations for the server. And in order to get access to all of the channels, you'll need to react with an emoji to acknowledge that you have read this message and agree to follow the code of conduct. So there's lots more to say about the Coding Train community on the Discord server itself. It's a great place if you need help with your code, if you just want to hang out and share pictures of your pets. There's a lot of channels for a lot of different things. And so please come and say hi there. One of my favorite things to do is to read the Introductions channel, because I get to know the community of people who are watching these videos and where they come from and what they care about and what they're excited to try and make themselves with code. OK, enough, enough. In this first video, what I want to do is cover all of the technical pieces, like what do you need? You need a text editor, you need a console, you need Node.js. What are all the pieces you need to run your Discord bot? And in case you haven't heard of one of those pieces, where can you find the resources to get those up and running on your computer? As well as how to create a Discord application through the developer docs, or the developer website, the Discord developer website. And get your secret token key thingies that you'll need to be able to run your Discord bot, OK? So we're going to do that, all that, in this first video, and then I'll start following up with the basics of writing the code, and showing you how to run the bot, and all that other good stuff too. All right, what are the pieces of the puzzle here? Ultimately, where I want to get to first is that on my own computer, I am going to be typing code into a text editor. The text editor I use is VSCode, Visual Studio Code, but you could really use any. I want to run this code. Maybe this is going to be a file called index.js. And I want to run this code using Node.js. So I'm going to say something like node index.js. And when I run this, the bot itself is running on my laptop, my personal computer. But how is it going to communicate with Discord? Well, weirdly enough, Discord is also running on my computer. So do they talk to each other directly like that? Like am I running a bot on my computer that's talking to Discord running on my computer? No. So discord is a service. I'm just running the Discord client on my laptop where I can send my messages and read messages coming in. But ultimately, there is a server, the Discord server itself, that my laptop is communicating with. That's how, when I type a message, it sends it to the server. And presumably, somebody else who's running-- if it's direct message to somebody else, then that message I send to the server is going to get sent to that other client. So this server is managing everything. So ultimately, actually, the way that I will see a message that the bot posts or that I could send a message from Discord to the bot-- this should really be a much bigger diagram. Now that I've zoomed in a little bit, if my code wants to send a message to be viewable in Discord, it's going to send it to the server. And the server will send it to the Discord client. So ultimately, the bot that I'm writing is a Discord application like the client. It's just not as sophisticated. It's just a command line thing that I run through Node that can send messages and read messages. Now, this isn't the end of the story. I mean, running index.js as the Discord bot on my laptop isn't a sustainable solution, because eventually I need to close my laptop. I need to put it away to go on vacation. I need to sleep. And I need a permanent computer that can always have the Discord bot running. And so what I would like to show you, eventually also, is how to not run index.js on my local laptop here, but to deploy it somewhere into the so-called cloud. I could use a service like Glitch or Heroku or DigitalOcean, or Amazon Web Services. I could make my own Raspberry Pi or set up my own old computer that's always connected to the internet. Anything that's like an always on computer that can run my Node code can act as the permanent bot. Now I can make this smaller again. And the idea here is all the human beings, as represented by these laptops, are communicating with the Discord server. They're sending messages. They're receiving messages. And now I have a new non-human being, a bot, also communicating with the server, sending and receiving messages. And I can code and program any crazy ID I want for how the humans and the bot could interact with each other. One thing that should really explain here. I'm conflating the idea of the Discord service, which is a company that runs probably a lot of different servers that allows people to sign up for Discord accounts, and the idea of a Discord server like the Coding Train Choo Choo server. So the terms Discord server generally means like a server, a specific server for a single community, like Coding Train, or there's an ML5 Discord, and there's countless other Discord servers for gaming communities and podcast communities. And so all of those are like little bubbles in here. And the clients that are members of Coding Train are all connected to just one. And I'm going to add my bot specifically to the Coding Train Discord server. But a bot, just like any human being, can be members of multiple servers. So really, this bubble here represents the discords service itself, which is also a server that's managing multiple instances of different communities with their own servers. I probably, in the end, have made this much more complicated than it needs to be. If I were to just simplify all this for a second, there is a Coding Train community that is a Discord server. You can sign up and be a part of that community, and read and write messages yourself. And now I'm showing you how to sign up, essentially, a bot, or robot, member of that community that can automate different processes, reading, sending messages, reacting to emojis, posting gifts, all sorts of other kinds of things that a Discord bot can do. So what do you need in order to be able to make your own Discord bot? Now certainly, there are lots of different ways to make Discord bots, I'm sure. But if you want to make one in JavaScript and using Node.js, the things you will need are as follows. Console access to your computer. Another word for that is like terminal access. I use iTerm. There's Terminal on the Mac. There's Powershell, Git BASH. I'm always making this list over and over again on Windows. I have a whole separate video about terminal and shell access that you could watch if that's a totally new concept to you. You need a text editor. That's to edit your code. I've already mentioned the one that I'm going to use is VSCode. Finally, you need to install Node.js. And I have a whole video about what is Node and how to install it and all that thing. But really, you can just go to a URL that I'll put in the video's description, click the Download button, install it on your computer, and you'll know it's working is if when you go into Terminal, if you type in Node dash dash version, you'll see a message come out that says, I'm Node version something, instead of, I don't know what Node is, help! Let me show you all these things in action. So this is my console. I'm open to the console. I'm using iTerm as my terminal application on the Mac. I can put links to download that. And again, there are countless other ones that you could use on Mac, Windows, Linux, et cetera. I'm going to type Node dash dash version. Now, if I were to misspell that, or if you didn't have Node installed, I would see something like command not found, nope. And I'm using something called ZSH. Oh, my goodness, so many terms, so much weird stuff. Again, I cover that more in my full console video that you can take a look. But hopefully, if you've gone to the Node website, you've downloaded-- it doesn't really matter what version, to be honest. I would grab what it says recommended for most users. You've installed it on your computer. You're back in your terminal window. And you type Node dash dash version. If you see it recognize it and give you a version number back, you are good to go. That said, you're struggling with this, ask your question in the comments, or come and join the Coding Train Discord itself, and we'll help you get to this stage right here. The next thing you want to do is go to the Discord website itself and sign up for a Discord account. If you already have a Discord account, you can use that one. You could make a new dummy account just to test with your bot. But I'm using my main Discord account, because I can make multiple bots and try different experiments through one Discord account itself. So if you have Terminal and you're able to type Node, if you have a Discord account, you are ready to move on to the next video. So in the next video, I'm going to show you the Discord Developer portal, where you create the actual bot account itself. And that's where the information that you'll bring into your code will live. So that's coming up. I can't wait. I mean, I'm going to do it right now. Maybe you will too. I don't know, you'll-- take a break, take a break, take a break, relax. Deep breath, deep breath, deep breath. I'll see you for the next video, maybe, maybe, we'll see. It's fine if you don't go. I get it. I get it. I'll just stop talking now. Goodbye. Bye. [BLOWS KISS] [MUSIC PLAYING]
Info
Channel: The Coding Train
Views: 103,458
Rating: undefined out of 5
Keywords:
Id: 7A-bnPlxj4k
Channel Id: undefined
Length: 10min 27sec (627 seconds)
Published: Sun Nov 08 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.