[![EzCord](https://ezcord.readthedocs.io/en/latest/_static/ezcord.png)](https://github.com/tibue99/ezcord)
[![](https://img.shields.io/discord/1010915072694046794?label=discord&style=for-the-badge&logo=discord&color=5865F2&logoColor=white)](https://discord.gg/zfvbjTEzv6)
[![](https://img.shields.io/pypi/v/ezcord.svg?style=for-the-badge&logo=pypi&color=yellow&logoColor=white)](https://pypi.org/project/ezcord/)
[![](https://img.shields.io/pypi/l/ezcord?style=for-the-badge)](https://github.com/tibue99/ezcord/blob/main/LICENSE)
[![](https://aschey.tech/tokei/github/tibue99/ezcord?style=for-the-badge)](https://github.com/tibue99/ezcord)
An easy-to-use extension for [Discord.py](https://github.com/Rapptz/discord.py)
and [Pycord](https://github.com/Pycord-Development/pycord) with some utility functions.
## Features
### ✏️ Reduce boilerplate code
- Easy cog management
- Embed templates
- Datetime and file utilities
- Wrapper for [aiosqlite](https://github.com/omnilib/aiosqlite) and [asyncpg](https://github.com/MagicStack/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](https://git-scm.com/downloads) 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
```
## Useful Links
- [Documentation](https://ezcord.readthedocs.io/) | [Getting started](https://ezcord.readthedocs.io/en/latest/pages/getting_started.html)
- [Pycord](https://docs.pycord.dev/) | [Discord.py](https://discordpy.readthedocs.io/en/stable/)
- [PyPi](https://pypi.org/project/ezcord/)
## Examples
- For more examples, see the [example repository](https://github.com/tibue99/ezcord_template)
or the [sample code](https://ezcord.readthedocs.io/en/latest/examples/examples.html).
- **Note:** It's recommended to [load the token](https://guide.pycord.dev/getting-started/creating-your-first-bot#protecting-tokens) 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
```py
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
```py
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](https://ezcord.readthedocs.io/en/latest/pages/contributing.html).
Raw data
{
"_id": null,
"home_page": null,
"name": "ezcord",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "discord, pycord, py-cord, discord.py",
"author": "tibue99",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/af/8c/1d4184b33fd256b6d27e9cae0428ddf21921e0da5721eecd29c81201719c/ezcord-0.7.2.tar.gz",
"platform": null,
"description": "[![EzCord](https://ezcord.readthedocs.io/en/latest/_static/ezcord.png)](https://github.com/tibue99/ezcord)\n\n[![](https://img.shields.io/discord/1010915072694046794?label=discord&style=for-the-badge&logo=discord&color=5865F2&logoColor=white)](https://discord.gg/zfvbjTEzv6)\n[![](https://img.shields.io/pypi/v/ezcord.svg?style=for-the-badge&logo=pypi&color=yellow&logoColor=white)](https://pypi.org/project/ezcord/)\n[![](https://img.shields.io/pypi/l/ezcord?style=for-the-badge)](https://github.com/tibue99/ezcord/blob/main/LICENSE)\n[![](https://aschey.tech/tokei/github/tibue99/ezcord?style=for-the-badge)](https://github.com/tibue99/ezcord)\n\nAn easy-to-use extension for [Discord.py](https://github.com/Rapptz/discord.py)\nand [Pycord](https://github.com/Pycord-Development/pycord) with some utility functions.\n\n## Features\n### \u270f\ufe0f Reduce boilerplate code\n- Easy cog management\n- Embed templates\n- Datetime and file utilities\n- Wrapper for [aiosqlite](https://github.com/omnilib/aiosqlite) and [asyncpg](https://github.com/MagicStack/asyncpg)\n\n### \u2728 Error handling\n- Automatic error handling for slash commands\n- Error webhook reports\n- Custom logging\n\n### \ud83d\udcda i18n\n- Slash command translation (groups, options, choices)\n- Translate messages, embeds, views, modals and more\n\n### \u2699\ufe0f Extensions\n- **Help command** - Automatically generate a help command for your bot\n- **Status changer** - Change the bot's status in an interval\n- **Blacklist** - Block users from using your bot\n\n## Installing\nPython 3.9 or higher is required.\n```\npip install ezcord\n```\nYou can also install the latest version from GitHub. Note that this version may be unstable\nand requires [git](https://git-scm.com/downloads) to be installed.\n```\npip install git+https://github.com/tibue99/ezcord\n```\nIf you need the latest version in your `requirements.txt` file, you can add this line:\n```\nezcord @ git+https://github.com/tibue99/ezcord\n```\n\n## Useful Links\n- [Documentation](https://ezcord.readthedocs.io/) | [Getting started](https://ezcord.readthedocs.io/en/latest/pages/getting_started.html)\n- [Pycord](https://docs.pycord.dev/) | [Discord.py](https://discordpy.readthedocs.io/en/stable/)\n- [PyPi](https://pypi.org/project/ezcord/)\n\n## Examples\n- For more examples, see the [example repository](https://github.com/tibue99/ezcord_template)\nor the [sample code](https://ezcord.readthedocs.io/en/latest/examples/examples.html).\n- **Note:** It's recommended to [load the token](https://guide.pycord.dev/getting-started/creating-your-first-bot#protecting-tokens) from a `.env` file instead of hardcoding it.\nEzCord can automatically load the token if a `TOKEN` variable is present in the `.env` file.\n\n### Pycord\n```py\nimport ezcord\nimport discord\n\nbot = ezcord.Bot(\n intents=discord.Intents.default()\n)\n\nif __name__ == \"__main__\":\n bot.load_cogs(\"cogs\") # Load all cogs in the \"cogs\" folder\n bot.run(\"TOKEN\")\n```\n\n### Discord.py\n```py\nimport asyncio\nimport discord\nimport ezcord\n\n\nclass Bot(ezcord.Bot):\n def __init__(self):\n super().__init__(intents=discord.Intents.default())\n\n async def setup_hook(self):\n await super().setup_hook()\n await self.tree.sync()\n\n\nasync def main():\n async with Bot() as bot:\n bot.add_help_command()\n bot.load_cogs(\"cogs\") # Load all cogs in the \"cogs\" folder\n await bot.start(\"TOKEN\")\n\n\nif __name__ == \"__main__\":\n asyncio.run(main())\n```\n\n## Contributing\nYou are welcome to contribute to this repository! Please refer to the full [contribution guide](https://ezcord.readthedocs.io/en/latest/pages/contributing.html).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An easy-to-use extension for Discord.py and Pycord",
"version": "0.7.2",
"project_urls": {
"Documentation": "https://ezcord.readthedocs.io",
"GitHub": "https://github.com/tibue99/ezcord"
},
"split_keywords": [
"discord",
" pycord",
" py-cord",
" discord.py"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a3f63d10b1a190742da40ce381fedc7517a1ac9608f4e97056a2dcd16c5afe66",
"md5": "a9c1c4f3a670593b921189a1b9770564",
"sha256": "ba618b45ba8495bfa6dae5adaa962a5425772ec46321499a7283fdb4e67b24df"
},
"downloads": -1,
"filename": "ezcord-0.7.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a9c1c4f3a670593b921189a1b9770564",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 65820,
"upload_time": "2024-12-07T08:56:36",
"upload_time_iso_8601": "2024-12-07T08:56:36.135074Z",
"url": "https://files.pythonhosted.org/packages/a3/f6/3d10b1a190742da40ce381fedc7517a1ac9608f4e97056a2dcd16c5afe66/ezcord-0.7.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "af8c1d4184b33fd256b6d27e9cae0428ddf21921e0da5721eecd29c81201719c",
"md5": "dc1748d4e0eec80ddb3c670495902ba4",
"sha256": "7aaf6b3f5f1ac7db02034ae453136819360b0c925d7e7af08b8a115de1b8e805"
},
"downloads": -1,
"filename": "ezcord-0.7.2.tar.gz",
"has_sig": false,
"md5_digest": "dc1748d4e0eec80ddb3c670495902ba4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 58295,
"upload_time": "2024-12-07T08:56:38",
"upload_time_iso_8601": "2024-12-07T08:56:38.083017Z",
"url": "https://files.pythonhosted.org/packages/af/8c/1d4184b33fd256b6d27e9cae0428ddf21921e0da5721eecd29c81201719c/ezcord-0.7.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-07 08:56:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tibue99",
"github_project": "ezcord",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiocache",
"specs": []
},
{
"name": "aiohttp",
"specs": []
},
{
"name": "aiosqlite",
"specs": []
},
{
"name": "colorama",
"specs": []
},
{
"name": "python-dotenv",
"specs": []
},
{
"name": "PyYAML",
"specs": []
},
{
"name": "audioop-lts",
"specs": []
}
],
"lcname": "ezcord"
}