discordcooldown 0.1.4
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
mysql-connector-python
psycopg2
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
Home Page
Official Discord Server
PyPi Package
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.