Archived
86 lines
2.4 KiB
Markdown
86 lines
2.4 KiB
Markdown
# CommandBot
|
|
|
|
A Discord.js based framework that makes creating Discord bots easy and fast.
|
|
|
|
# Table of contents
|
|
|
|
- [Instalation](#installation)
|
|
- [System requirements](#system-requirements)
|
|
- [Creating a project](#creating-a-project)
|
|
- [Registering Discord app](#registering-discord-app)
|
|
- [Creating application](#creating-application)
|
|
- [Commands](#commands)
|
|
|
|
# Installation
|
|
|
|
## System requirements
|
|
|
|
- _Node.js_ 16.6.0 or newer
|
|
- _npm_ or _yarn_ package manager
|
|
|
|
## Creating a project
|
|
|
|
### Registering Discord app
|
|
|
|
1. Visit [Discord Developer Portal](https://discord.com/developers/) and create an app
|
|
2. Navigate to the _Bot_ section and register a bot
|
|
3. Navigate to _OAuth 2_ section, select _bot_ and _application.commands_ scopes and check bot permissions
|
|
4. Copy the link and add your bot to the servers
|
|
|
|
### Creating application
|
|
|
|
1. Create empty directory
|
|
2. Run `npm init -y` or `yarn init -y`
|
|
3. Add the CommandBot package
|
|
|
|
```javascript
|
|
// npm
|
|
npm install commandbot@latest
|
|
|
|
// yarn
|
|
yarn add commandbot@latest
|
|
```
|
|
|
|
4. Create _index.js_ file
|
|
5. Import the CommandBot package
|
|
|
|
```javascript
|
|
// CommonJS
|
|
const { Bot, Command } = require("commandbot");
|
|
|
|
// ES Modules (to use ESM add "type": "module" to your package.json file)
|
|
import { Bot, Command } from "commandbot";
|
|
```
|
|
|
|
6. Initialize the bot instance
|
|
|
|
```javascript
|
|
const bot = new Bot({
|
|
name: "YOUR_BOT_NAME",
|
|
prefix: "BOT_PREFIX", // bot prefix (optional) (if undefined, only slash commands will be available)
|
|
argumentSeparator: ",", // used to separate parameters from messages (optional)
|
|
clientOptions: {
|
|
intents: [..."DISCORD_API_INTENTS"],
|
|
}, // Discord.js ClientOptions (optional)
|
|
token: "DISCORD_BOT_TOKEN", // Discord bot token
|
|
applicationId: "APPLICATION_ID", // Discord application ID used to register slash commands
|
|
});
|
|
```
|
|
|
|
Links
|
|
|
|
- [DISCORD_API_INTENTS](https://discord.js.org/#/docs/main/stable/class/Intents)
|
|
- [ClientOptions](https://discord.js.org/#/docs/main/stable/typedef/ClientOptions)
|
|
|
|
7. Create and add commands to the _Bot_ instance (see [Commands](#commands))
|
|
8. Start your bot
|
|
|
|
```javascript
|
|
bot.start(
|
|
port, // If passed, the application will create a HTTP server
|
|
true // If true, the app will register all slash commands in the Discord API (it's recommended setting it to false after registering to avoid reaching daily quota)
|
|
);
|
|
```
|
|
|
|
# Commands
|