Create Discord bots using a simple widget-based framework.
- Go to Discord's Developer Portal.
- Create a new application.
Take note of your bot's client ID. You will need this to invite your bot to a server.
- Go to the bot tab and add a bot user to your application.
Take note of your bot's token. You will need this in the next section.
- Invite your bot to a server using: https://discordapp.com/oauth2/authorize?scope=bot&client_id=DISCORD_BOT_CLIENT_ID_PLACEHOLDER
Alternatively,
npx peterthehan/create-discord-bot
will generate a bot invite link for you when you create a bot project and you provide a valid bot token.
A Discord bot's client ID is not the same as its token. Keep your token and any file containing it private. If your token ever leaks or you suspect it may have leaked, simply
regenerate
a new token to invalidate your compromised token.
npx peterthehan/create-discord-bot
cd my-discord-bot/
npm start
Verify the bot is working by using the .ping
command.
You're ready to create your own Discord bot! 🎉
Update your core bot files to the latest version in this project by running npx peterthehan/create-discord-bot
and entering the same name as your existing Discord bot when asked for the application name. This will update:
create-discord-bot
includes a command widget. Follow the design of the ping command to start building your own commands.
- All widgets must live under the src/widgets/ folder.
- All widgets must have a
handlers
folder. - A
handlers
folder can only contain event handler files. - All event handler files must be named exactly the same as the events found on the Client page.
An example file tree diagram of these requirements may look like:
src/
widgets/
command/
handlers/
ready.js
message.js
widget1/
handlers/
messageReactionAdd.js
messageUpdate.js
other event handlers
widget2/
handlers/
typingStart.js
userUpdate.js
other event handlers
The following widgets can be used by this framework by adding them into the src/widgets/ folder:
- https://github.com/peterthehan/discord-active-role-bot
- https://github.com/peterthehan/discord-audit-log-bot
- https://github.com/peterthehan/discord-birthday-role-bot
- https://github.com/peterthehan/discord-cron-bot
- https://github.com/peterthehan/discord-emoji-log-bot
- https://github.com/peterthehan/discord-reaction-role-bot
- https://github.com/peterthehan/discord-starboard-bot
- https://github.com/peterthehan/discord-twitter-bot
- Use Git Bash instead of the Command Prompt (cmd.exe) if you are on Windows.
npm -v
to check if your npm version supports npx (v5.2+).node -v
to check if you have the latest LTS version of Node.js (v12+).npm install
if running the application outputsError: Cannot find module '...'
.
Visit for more help or information!
Read the Contributing documentation to get started!