Skip to main content

An easy-to-use extension for Discord.py and Pycord

Project description

EzCord

An easy-to-use extension for Discord.py and Pycord with some utility functions.

Features

✏️ Reduce boilerplate code

  • Easy cog management
  • Embed templates
  • Datetime and file utilities
  • Wrapper for aiosqlite and asyncpg

✨ Error handling

  • Automatic error handling for slash commands
  • Error webhook reports
  • Custom logging

📚 i18n

  • Slash command translation (groups, options, choices)
  • Translate messages, embeds, views, modals and more

⚙️ Extensions

  • Help command - Automatically generate a help command for your bot
  • Status changer - Change the bot's status in an interval
  • Blacklist - Block users from using your bot

Installing

Python 3.9 or higher is required.

pip install ezcord

You can also install the latest version from GitHub. Note that this version may be unstable and requires git to be installed.

pip install git+https://github.com/tibue99/ezcord

If you need the latest version in your requirements.txt file, you can add this line:

ezcord @ git+https://github.com/tibue99/ezcord

For further steps, see the documentation.

Plugins

Ezcord Utils

These code editor plugins simplify working with language files. They offer autocompletion, hover translations, and quick access to keys in language files.

Bot Formatter

Bot Formatter is an Ezcord language file formatter and validator, available as a CLI tool and as a pre-commit hook.

Examples

For more examples, see the example repository or the sample code.

  • Note: It's recommended to load the token from a .env file instead of hardcoding it. EzCord can automatically load the token if a TOKEN variable is present in the .env file.

Pycord

Refer to the Pycord Documentation for more information.

import ezcord
import discord

bot = ezcord.Bot(
    intents=discord.Intents.default()
)

if __name__ == "__main__":
    bot.load_cogs("cogs")  # Load all cogs in the "cogs" folder
    bot.run("TOKEN")

Discord.py

Refer to the Discord.py Documentation for more information.

import asyncio
import discord
import ezcord


class Bot(ezcord.Bot):
    def __init__(self):
        super().__init__(intents=discord.Intents.default())

    async def setup_hook(self):
        await super().setup_hook()
        await self.tree.sync()


async def main():
    async with Bot() as bot:
        bot.add_help_command()
        bot.load_cogs("cogs")  # Load all cogs in the "cogs" folder
        await bot.start("TOKEN")


if __name__ == "__main__":
    asyncio.run(main())

Contributing

You are welcome to contribute to this repository! Please refer to the full contribution guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezcord-0.7.5.tar.gz (60.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezcord-0.7.5-py3-none-any.whl (68.0 kB view details)

Uploaded Python 3

File details

Details for the file ezcord-0.7.5.tar.gz.

File metadata

  • Download URL: ezcord-0.7.5.tar.gz
  • Upload date:
  • Size: 60.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ezcord-0.7.5.tar.gz
Algorithm Hash digest
SHA256 de32c5b20734ec91fc1d62b6a8b2fb9afd9b019449f20359fadcd651aa2d77a1
MD5 30f7b90bb0e227e65c2c36f0065b4ac0
BLAKE2b-256 e4888c262cc41ee014de6e7c621cf548398737c7b501a19c316dbcf450087224

See more details on using hashes here.

Provenance

The following attestation bundles were made for ezcord-0.7.5.tar.gz:

Publisher: python-publish.yml on tibue99/ezcord

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ezcord-0.7.5-py3-none-any.whl.

File metadata

  • Download URL: ezcord-0.7.5-py3-none-any.whl
  • Upload date:
  • Size: 68.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ezcord-0.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 96cf1f818ff109323542944b412100517ad8743b1f6d74693a6363c80a473564
MD5 6eb26c7586406a1ac048b3b4e412c25e
BLAKE2b-256 6fdfa5367a6dc99ae1b505f6deeaa7384f07c00977bcf0438f618e2e65120076

See more details on using hashes here.

Provenance

The following attestation bundles were made for ezcord-0.7.5-py3-none-any.whl:

Publisher: python-publish.yml on tibue99/ezcord

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page