JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q81292F
  • License MIT

A CLI for creating Discord.js bots with ease

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@discordjs-cli/discordjs-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    ⚠️ BETA RELEASE ⚠️

    A CLI for creating Discord.js bots with ease.

    Main updates:
    • Added: n/a
    • Bug fix: n/a
    • Update: config.json is now config.js/config.ts for use with intellisense

    Report bugs here


    ⚙️ Installation:

    NOTE: You'll need to install the CLI globally in order for it to work. Nodemon is used to run the projects, so go ahead and install that as well.

    Node v16+ is required
    sudo npm i -g @discordjs-cli/discordjs-cli
    sudo npm install -g nodemon

    🌚 Create a project

    Supported frameworks:

    • JavaScript
    • TypeScript

    Initiate a new project like so:

    djs new <project name>

    This will walk you through the setup process of creating a new Discord.js, or Discord.ts bot.

    Once your bot has been made, you can cd into the bot directory. The bot itself is in the ./src folder. In the ./src folder, theres a config folder that has a config.js/ts file inside. Add your bots token, client ID, etc. and then run:

    djs run

    And your bot should be online!


    🔨 Initiate a project

    Initiate an existing project like so:

    djs init

    This will walk you through the process of initiating an existing project.

    NOTE: This only works for projects with the proper file structure.

    Once your bot has been initiated, you can run:

    djs run

    And your bot should be online!


    😌 Add commands, buttons, menus, etc!

    /Slash commands

    NOTE: Slash commands need to be deployed in order for them to show up on discord

    Create a slash command

    To create a slash command, run the following command:

    # alternatively, use djs g c <command-name>
    djs generate command <command-name>

    This will create a new slash command template in our ./src/interactions/slash_commands folder.

    Adding a sub command

    To create a subcommand, run the following command:

    # alternatively, use djs g s <command-name/subcommand-name>
    djs generate subcommand <command-name/subcommand-name>

    Deploying slash commands

    NOTE: By default, commands are run for DEV commands; to the guild specified in your config.js/ts file. Specify the -g flag in the command, ie. djs deploy -g, to run globally.

    To deploy slash commands, run the following command:

    djs deploy

    Updating slash commands

    To update slash commands, run the following command:

    djs update

    Deleting slash commands

    NOTE: This does NOT delete any files. It simply sets the bots commands to an empty array.

    To delete slash commands, run the following command:

    djs delete

    !Legacy commands

    Create a legacy command

    To create a legacy command, run the following command:

    # alternatively, use djs g l <command-name>
    djs generate legacy <command-name>

    This will create a new legacy command template in our ./src/interactions/legacy_commands/ folder.


    🔘 Buttons

    Create a button

    Button types:

    • Blank (blank button)
    • Role (reaction role button)

    To create a button, run the following command:

    # alternatively, use djs g b <button-id>
    djs generate button <button-id>

    Next, you'll be prompted for a row name:

    > Row (default is button ID):

    You can then choose which button template you want:

    > Button type: (Use arrow keys)
    ❯ Blank 
      Role

    Selecting "Blank" will create a blank template, while selecting "Role" will have one more prompt for a role ID:

    > Role ID (leave blank to add later): 

    And thats it! When a role with the button ID you provided is clicked, the newly created button handler will run!


    📂 Menus

    Create a menu

    To create a menu, run the following command:

    # alternatively, use djs g menu <menu-name/option-id>
    djs generate menu <menu-name/option-id>

    This will create a folder in our "./src/menus" directory with the "menu-name" name, if none exists, then create our menu option file. The newly created menu file will be triggered when a menu with the the menu ID and menu option we specified in the command is selected.


    Misc commands

    To check the version of djs, run the following command:

    djs --version

    To update the CLI, run the following command:

    djs --update

    This will run sudo npm i -g @discordjs-cli/discordjs-cli. Note, you may be prompted for your password as the command is run with sudo.


    Im still working on getting this to version 1, but I hope theres an appeal for it! :D

    If you've worked with the Angular CLI, then this will look familiar xD

    I work on quite a few bots, and I thought for sure theres got to be a faster way to go about things. I present to you: the Discord.js CLI 🎉

    TODO: Add modals, and the one clicky thingy i forgor what its called 💀

    If you have any suggestions, feel free to add them to the discussions page on the GitHub repo! I want this to be the most epic thing since sliced bread :D