A module-based Discord bot template.
-
Go to Discord's Developer Portal.
-
Create a new application.
Take note of the
APPLICATION IDon 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
TOKENon 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
regeneratea 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 IntentandServer 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-discordin the commands below with your own preferred project name!git clone https://github.com/SrCrow02/Discord-Bot-V14.gitcd bot-discordnpm 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.jsVerify 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:
nodeversion is=>16.11.0by runningnode -v.npmversion is>=7.0.0by runningnpm -v.
- If running the application outputs:
Error: Cannot find module '...', try runningnpm iin the project directory.DiscordAPIError: Missing Permissions, verify your bot has the correctManagepermissions.