Slash Command Package (TS)
This is the go-to if you are new to development here on Discord. Now optimzed for Robo.js, how awesome is that?
Ready to embark on this adventure?
Quick Linksβ
π Documentation
Getting started with Robo.js
πΎ Download
Download as a zip file
β¨ Discord
MrJAwesome's Coding Lounge
β¨ Discord
Robo - Imagine Magic
Getting Startedβ
Create a project with this template, replacing <project-name>
with your desired name:
npx create-robo <project-name> --template discord-bots/mrjawesome-slash-commands-ts
Then navigate into your project directory:
cd <project-name>
Run development mode:
npm run dev
π° Beginner Guide
New to Discord Bots with Robo? Start here!
π Run Modes
Define profiles for your Robo session.
Developmentβ
Creating a Slash Command is as easy as creating files.
Let's say you want a new /hello
command. Just create a file in the /src/commands
directory named hello.js
and export a default function that returns something.
export default (interaction) => {
interaction.reply('Hello World!')
}
Your /hello
command is now ready to use! Robo.js takes care of registration for you.
Ever clicked on an avatar or message and seen an Apps section? Those are Context Commands!
Create a file file in /src/context/message
named after the command. For example, Quote.js
.
export default (interaction, message) => {
interaction.reply(`${message.author} said:\n\n> ${message.content}`)
}
You can do the same for users under /src/context/user
.
π Slash Commands
Your bot follows best practices by default.
π‘ Events
Know and respond to everything that happens.
π±οΈ Context Commands
Extend right click and long press behavior.
β‘ Flashcore Database
Persist data in your Robo with ease.
Debuggingβ
Discord Bots made with Robo.js come with a built-in Debugger.
Whenever your bot crashes in development mode, the debugger shows an interactive error message - all within Discord!
You even get /dev
Subcommands for quick access to logs, system info, and more. Just set your test server's ID as an environment variable called DISCORD_GUILD_ID
.
π Debugging
Troubleshoot right within Discord.
π Credentials
Secure your Discord Bot credentials.
Client Configurationβ
Robo.js manages your Discord.js Client
instance. You may import client
anywhere in your project.
// File: /src/commands/name.js
import { client } from 'robo.js'
export default () => {
return `My name is ${client.user.username}`
}
Intents or other configurations can be set in the config/robo.mjs
file.
// File: /config/robo.mjs
export default {
clientOptions: {
intents: ['Guilds', 'GuildMessages']
}
// ... other options
}
Robo Ecosystemβ
By building with Robo.js, you gain access to a growing ecosystem of plugins, templates, and tools. Robo Plugins are special. They can add features with one command.
npx robo add @robojs/ai @robojs/moderation
Plugins integrate seamlessly thanks to the Robo File Structure. What's more, anyone can create a plugin.
π Robo Plugins
Add features to your Robo seamlessly.
π Creating Plugins
Make your own plugins for Robo.js.
ποΈ Plugin Directory
Browse plugins for your Robo.
π Templates
Kickstart your project with a template.
Hostingβ
Hosting your project keeps it running 24/7. No need to keep your computer on at all times, or worry about your Internet connection.
You can host on any platform that supports Node.js, or run robo deploy
to host on RoboPlay - a hosting platform optimized for Robo.js.
npm run deploy
π RoboPlay
Deploy with as little as one command.
π οΈ Self-Hosting
Learn how to host and maintain it yourself.