A module-based Discord bot template.
-
Go to Discord's Developer Portal.
-
Create a new application.
Take note of the
APPLICATION ID
on the General Information tab page. You will need it to invite the bot to your server in step 5. -
Go to the Bot tab and add a bot user to your application.
Take note of the
TOKEN
on the Bot tab page. You will need it in step 3 of the next section.Keep your token and any file containing it private. If it ever leaks or you suspect it may have leaked, simply
regenerate
a new token to invalidate your compromised token. -
While in the Bot tab, scroll down to the Privileged Gateway Intents section and enable the toggles for both
Presence Intent
andServer Members Intent
. More information on Gateway Intents can be found here: -
Lastly, invite the bot to your server using the following link template: https://discord.com/oauth2/authorize?scope=bot&client_id=APPLICATION_ID_HERE
-
Run the following commands to bootstrap a Discord bot project in your working directory:
Replace
bot-discord
in the commands below with your own preferred project name!git clone https://github.com/SrCrow02/Discord-Bot-V14.git
cd bot-discord
npm i
-
in config.json put your Token, Bot id and Server ID:
{ "prefix": "PREFIX", "token": "BOT_PREFIX", "botID": "ID_BOT", "serverID": "ID_SERVER", "staff": [ "YOUR_STAFF" ] }
-
Lastly, run the following command to start the bot:
node index.js
Verify the bot is running properly by sending messages in your server. The bot should log these messages in your terminal. If there are any issues, check Troubleshooting.
You're ready to create your own Discord bot! 🎉
- Remove bots in your server that may conflict in functionality, e.g. multiple reaction role bots.
- Use Git Bash instead of the Command Prompt (cmd.exe) if you are on Windows.
- Check that your:
node
version is=>16.11.0
by runningnode -v
.npm
version is>=7.0.0
by runningnpm -v
.
- If running the application outputs:
Error: Cannot find module '...'
, try runningnpm i
in the project directory.DiscordAPIError: Missing Permissions
, verify your bot has the correctManage
permissions.