0.0.1 • Published 3 years ago

discord-handlers v0.0.1

Weekly downloads
-
License
GPL-3.0-or-later
Repository
github
Last release
3 years ago

discord-handlers

An easy-to-use package implementing handlers for Discord.js v14 events, commands, and components.

Installation ā¬‡ļø

Install discord-handlers with npm

  npm install discord-handlers

Documentation (w/Example) šŸ““

• Creating the Handler

const Handler = require("discord-handlers");
const handler = new Handler();

• Folder Structure šŸ—‚

You could use whichever folder structure you'd like, but with this package it's recommended to use the following structure:

Discord Bot/
ā”œā”€ā”€ node_modules
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ commands/
│   │   └── moderation/
│   │       └── kick.js
│   ā”œā”€ā”€ components/
│   │   ā”œā”€ā”€ buttons/
│   │   │   └── ok-button.js
│   │   ā”œā”€ā”€ contextMenus/
│   │   ā”œā”€ā”€ modals/
│   │   └── selectMenus/
│   ā”œā”€ā”€ events/
│   │   ā”œā”€ā”€ client/
│   │   │   ā”œā”€ā”€ ready.js
│   │   │   └── interactionCreate.js
│   │   └── mongo/
│   │       ā”œā”€ā”€ connecting.js
│   │       └── disconnected.js
│   └── bot.js
ā”œā”€ā”€ .env
ā”œā”€ā”€ package.json
└── package-lock.json

• Handling Discord.js Events (Client Events) 🚩

/*
* The function takes in the path to the Discord.js events folder.
* It also takes in the Discord client.
*/
handler.handleClientEvents("./src/events/client", client);

• Handling MongoDB Events (Mongoose) 🚩

/*
* The function takes in the path to the mongoose events folder.
* It also takes in the Discord client.
*/
handler.handleMongoEvents("./src/events/mongo", client);

• Handling Components (Buttons, Context Menus, Select Menus, and Modals) šŸ”˜

/*
* The function takes in the path to the components folder.
* It also takes in the Discord client.
*/
(async () => {
  await handler
    .handleComponents("./src/components", client);
})();

• Handling Global Commands āŒØļø

You cannot use both Global commands AND Guild commands. Please select on handler.

/*
* The function takes in the following:
* Path to the commands folder
* The Discord client
* The Discord client's ID
* The Discord client's token.
*/
handler.handleGlobalCommands(
  "./src/commands",
  client,
  "1038379144272158770",
  token
);

• Handling Guild Commands āŒØļø

You cannot use both Global commands AND Guild commands. Please select on handler.

/*
* The function takes in the following:
* Path to the commands folder
* The Discord client
* The Discord client's ID
* The Discord server's ID the bot will run in
* The Discord client's token.
*/
handler.handleGuildCommands(
  "./src/commands",
  client,
  "1038379144272158770",
  "894328880998010930",
  token
);

• Handling Interactions šŸ’­

Your 'interactionCreate' event should look like the following:

const Handler = require("discord-handlers");

module.exports = {
  name: "interactionCreate",
  async execute(interaction, client) {
    const handler = new Handler();
    // Pass in both the interaction and client:
    await handler.handleInteraction(interaction, client);
  },
};

Demo/Example šŸ“‹

require("dotenv").config(); // Storing bot token with .ENV which is recommended.
const { token } = process.env; // Getting the token from the .env file.
const { Client } = require("discord.js");
const Handler = require("discord-handlers");
const handler = new Handler();
const client = new Client({ intents: 131071 });

// Discord.js Event Handler:
handler.handleClientEvents("./src/events/client", client);

// MongoDB event Handler: (using mongoose)
handler.handleMongoEvents("./src/events/mongo", client);

// Discord.js Components Handler:
(async () => {
  await handler
    .handleComponents("./src/components", client);
})();

// Discord.js Global Commands Handler: [Select either Gloal or Guild NOT both]
// handler.handleGlobalCommands(
//   "./src/commands",
//   client,
//   "1038379144272158770",
//   token
// );

// Discord.js Guild Commands Handler: [Select either Gloal or Guild NOT both]
handler.handleGuildCommands(
  "./src/commands",
  client,
  "1038379144272158770",
  "894328880998010930",
  token
);

client.login(token);

Support šŸ’¬

For support, join my Discord server.

Authors šŸ–Š

0.0.1

3 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago