command-cooldown

1.0.0 • Public • Published

command-cooldown

a simple (discord bots anything really) cooldown for commands made using quick.db

V 1.0.0 is Here with new changes

  • do i need to tell you ? (fixed some issues again again again).
  • fixed some issues again lol.
  • added spam protection if you want lol, ".res.spam".
  • added multi cooldowns for every command option.
  • Fixed some issues with the database.

Features

  • Easy to use.
  • Fast.
  • You can change everything.

Requirements

  • quick.db , for saving cooldowns in order to avoid cooldowns being removed before it's timer runs out.

Changelog

See Changelog !

Supports :

  • node.js

Configuration

  • example with discord.js
  • this example allows you to make a cooldown for each command individually if you do not want this do "cmdCD.addCoolDown(message.author.id, 5000);" and "await cmdCD.checkCoolDown(message.author.id)"
const cmdCD = require('command-cooldown');

client.on('message',async message => {
    if (message.content == "ping") {
       let cd = await cmdCD.checkCoolDown(message.author.id, "cmd-ping");
        if (cd.res.spam) return "this user spams this command, i will not do any thing in order to not get rate limted";
        if (!cd.res.ready) return message.reply(`Reamaining ${(cd.res.rem / 1000).toFixed(1)}s`);

        message.reply(`My Ping is : ( ${client.ws.ping}Ms )`);
        cmdCD.addCoolDown(message.author.id, 5000, "cmd-ping");
    };
});

Response

it will output remaning time in ms so you could do anything :)

{
    ready : Boolean // whether the command is ready to user or not
    rem : Timestapms //remaining time
    cmd : String // cooldown's command name
    spam : Boolean // if the user is spamming the cooldown
}

Options

These are the keys in the options you can pass.

  • ID, type : string or number, the cooldown author id
  • 5000 , type : Timestamp, the cooldown duration in ms.
  • "cmd-name" , type : String, the cooldown command name this helps to add multi cooldowns *NOT REQUIERD*.
cmdCD.addCoolDown(ID, 5000, "cmd-name");
                  ^^  ^^^^
* ^ = required

Package Sidebar

Install

npm i command-cooldown

Weekly Downloads

4

Version

1.0.0

License

ISC

Unpacked Size

5.55 kB

Total Files

3

Last publish

Collaborators

  • sekai966