--- title: Introduction to Discord.js authors: - Solaris9 - MenuDocs categories: - Javascript tags: - Discord.js - Bot Development --- A guide for the basics to moderate level of making a discord.js discord bot. <!-- more --> ## Introduction If you're here then you're looking to learn about making a Discord bot using Discord.JS. If you don't know what either are then continue reading, if you do then you can skip to [Getting Started](/topics/discordjs/gettingstarted.md). What is a Discord bot? It is a "bot" account ran with code that has some special abilities a user account cannot do. First the most notable ones are that it is ran with code and they have no limit on the amount of guilds they can join. What can you do with a Discord bot? There are many uses for a Discord bot, moderating a guild, providing support (tickets, suggestions) or even playing music in voice channels and much more. What is Discord.js? Discord.js is a Node.js library built for the Discord API. It's mostly used to make Discord bots, but can be used in the browser to create a dashboard for your bot and more. What should I know before continuing? It's recommended that you understand at least the basics of JavaScript and how to read documentation, there will be learning resources below. Now that you understand what a Discord bot and what Discord.JS is and how they can be used and what is needed before you can [get started](/topics/discordjs/gettingstarted.md). ## Resources ### JavaScript and Node.JS Modernized JavaScript Tutorials: <https://www.javascript.info/> \ Learn Viral JavaScript Courses: <https://udemycoupon.learnviral.com/coupon/javascript-beginners-bootcamp-2020/> \ CodeCademy online course: <https://www.codecademy.com/learn/javascript> \ Eloquent JavaScript, free book: <http://eloquentjavascript.net/> \ MDN's JavaScript guide: <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Introduction> \ You Don't Know JS (free book series): <https://github.com/getify/You-Dont-Know-JS> \ Some Node.JS: <https://nodeschool.io/> <https://www.codeschool.com/courses/real-time-web-with-node-js> \ JavaScript reference/docs: <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference> \ A page with Node.JS resources: <https://node.org> \ Node.JS docs: <https://nodejs.org/en/docs/> (Main page: <https://nodejs.org/en/>) ### Discord and Discord.JS Discord API Docs: <https://discord.com/developers/docs/intro> \ Discord Applications: <https://discord.com/developers/applications> \ Discord.JS Docs: <https://discord.js.org/#/> ### Editors and IDEs Visual Studio Code: <https://code.visualstudio.com/Download> (Insiders: <https://code.visualstudio.com/insiders/>) \ Atom: <https://atom.io> \ WebStorm: <https://www.jetbrains.com/webstorm/download/> (Note: this is paid but is very powerful) Komodo Edit: <https://www.activestate.com/products/komodo-ide/downloads/edit/> \ Brackets: <http://brackets.io/> ### Extra GitHub Education: <https://education.github.com/pack> \ If you are a student you can apply for the GitHub Education pack which has some [perks](https://education.github.com/pack#offers) JetBrains: <https://jetbrains.com/> (Some free with GitHub Education)\ Educative: <https://www.educative.io> (Free with GitHub Education)