Custom Cooldowns for discord Bot commands
Project description
Package Name: discord_cooldown
A responsive package for Bot command cooldowns
• With this package you can create the command cooldowns which will not get reset whenever the bot re-run
Join Official Discord Server for more guidance !
Features
- Cooldowns of Bot commands are stored in a DATABASE
- Available Databases MySQL, PostgreSQL and Sqlite
(Sqlite3)
Installation
Python 3.8 or higher is required !
# Linux/macOS
python3 -m pip install discord-cooldown
# Windows
# Method-1:
py -3 -m pip install discord-cooldown
# or
python -m pip install discord-cooldown
# Method-2:
pip install discord-cooldown
# Using GIT for ALPHA or BETA Versions
# Method-1:
pip install git+https://github.com/Modern-Realm/discord_cooldown
# Method-2:
pip install -U git+https://github.com/Modern-Realm/discord_cooldown
Note: For better stability install package from GitHub
using GIT
REQUIRED DEPENDENCIES
You can use ANY ONE of the below discord API Package
-
py-cord
-
nextcord
-
discord.pyV2.0
-
disnake
For disnake you should Refactor/ Shim all discord terms to disnake terms to make Package work
Note: Don't install more than one DEPENDENCY !
Other Dependencies
QuickStart
from discord_cooldown.modules import MySQL
from discord_cooldown import Cooldown
import discord
from discord.ext import commands
from datetime import timedelta
TOKEN = ""
intents = discord.Intents.all()
client = commands.Bot(command_prefix="&", intents=intents)
# MySQL Database Setup
db = MySQL(
host="", db_name="",
user="", passwd=""
)
# For Indian timezone (UTC +5:30)
timezone = +timedelta(hours=5, minutes=30)
def CD():
return Cooldown(database=db, timezone=timezone)
@client.event
async def on_ready():
await client.change_presence(status=discord.Status.online, activity=discord.Game("&help"))
print("Bot is online")
@client.event
async def on_command_error(ctx, error):
if isinstance(error, commands.CommandOnCooldown):
return await ctx.send(
f"on cooldown retry after `{timedelta(seconds=error.retry_after)}`"
)
else:
# For resetting a command on any error other than CommandOnCooldown
return await CD().reset_cooldown(ctx.author, ctx.command.name)
@CD().cooldown(1, 2 * 60)
@client.command()
async def test(ctx):
await ctx.send("testing")
@CD().cooldown(2, 0, reset_per_day=True)
@client.command()
async def vote(ctx):
await ctx.send("done")
@CD().cooldown(3, 60)
@client.command()
async def test1(ctx, *, msg: str):
await ctx.send("message is " + msg)
if __name__ == "__main__":
client.run(TOKEN)
Project Links
You can get support/help/guidance from below social-media links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file discord-cooldown-0.1.4.tar.gz
.
File metadata
- Download URL: discord-cooldown-0.1.4.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec749fcd20583f59ce3581c1c9634aa8d9c2b56adf1ff5d226ed475e310c1948 |
|
MD5 | 214cd74df6a3ec2f1c372fc457a57462 |
|
BLAKE2b-256 | 58bd906015191432ae2ca4ff65d6e951bc7af211f85aa6c47c87184e10c5410d |
Provenance
File details
Details for the file discord_cooldown-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: discord_cooldown-0.1.4-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6800e48d38d7f17e3bb1d72dafc13f3e898b911d8504d8fcc08e73ac191832f |
|
MD5 | 47783a69e63f32557e025a4c91d18adc |
|
BLAKE2b-256 | 82fef6681270147b1f56631ceedbe3323cd36023501782e9866df6a3a8562639 |