An easy-to-use extension for Discord.py and Pycord with some utility functions.
Features
✏️ Reduce boilerplate code
✨ 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.10 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.
- PyCharm: JetBrains Marketplace | GitHub
- VS Code: Marketplace | GitHub
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
.envfile instead of hardcoding it. EzCord can automatically load the token if aTOKENvariable is present in the.envfile.
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.
Metadata
Release files for ezcord 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ezcord-0.8.0.tar.gz | 60.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ezcord-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.6 kB
Release files / ezcord-0.8.0.tar.gz
| Download URL | ezcord-0.8.0.tar.gz |
|---|---|
| Size | 60.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a4a6e3c8c3978dd7925f8bc8a1adcb6fef9d96b15ff37dcfb0d7821100883f44
|
|
BLAKE2b-256 checksum How to use checksums |
3c6ab926ffd589bfc8e29bfe9085e0ad23beafe39e88356a67f739e3c4dc6081
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 17, 2026.
Transparency logRelease files / ezcord-0.8.0-py3-none-any.whl
| Download URL | ezcord-0.8.0-py3-none-any.whl |
|---|---|
| Size | 68.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
defc2fe6c216e11df4fed0b3ac0f7983bcabc2188826c39d45a782c3a0d7ac63
|
|
BLAKE2b-256 checksum How to use checksums |
1267da08ae9766a6885b300b2acf7b731ae74507723dc278cfcf02bdb7987cfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 17, 2026.
Transparency log