discraft
v1.5.0
Published
Best framework for discord bots
Downloads
1,902
Readme
Discraft
Discraft is a powerful framework for creating Discord bots, offering a robust CLI and a set of tools to streamline the development process. Think of it like Next.js but for Discord bots.
Installation
You can intsall Discraft via npm:
npm install discraft --save-dev # Use this to install Discraft in the current project
npm install discraft -g # May require sudo, globally installs Discraft so you can use it from anywhere
Usage
Discraft provides a CLI interface. You can use Discraft like this:
npx discraft [command]
# or
discraft [command]
CLI Commands
discraft init
: Initialize a new Discraft project.discraft dev
: Start the development server.discraft build
: Build the project for production.discraft start
: Start the production server.
Project Structure
The project is organized into several directories:
src/commands
: Contains command files for the bot.src/events
: Contains event handlers for the bot.src/config
: Configuration files.src/handlers
: Handlers for various bot functionalities.src/services
: Services used by the bot. (Right now, just Discord)src/utils
: Utility functions.
Development
To start the development server, use the following command:
discraft dev
This will watch for changes in the src
directory and automatically restart the server.
Build
To build the project for production, use the following command:
discraft build
This will bundle the source files using Rollup and apply Babel transformations. The output will be placed in the dist
directory.
Production
To start the bot in production mode, use the following command:
discraft start
Ensure that you have built the project before starting it in production mode.
Setup
Install dependencies:
npm install
Create a
.env
file with your bot token:BOT_TOKEN=your_bot_token_here CLIENT_ID=your_client_id_here
Start development:
discraft dev
Contributing
Contributions are welcome! Please visit the GitHub repository to report issues or submit pull requests.
License
This project is licensed under the GNU General Public License 3.0.