Skip to main content

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

Project description

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 novacordpy

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/NovaCord-at/NovaCord-py

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

novacord @ git+https://github.com/NovaCord-at/NovaCord-py

Useful Links

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

import novacordpy
import discord

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

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

Discord.py

import asyncio
import discord
import novacordpy


class Bot(novacordpy.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

novacordpy-0.1.0.tar.gz (59.1 kB view details)

Uploaded Source

Built Distribution

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

novacordpy-0.1.0-py3-none-any.whl (66.8 kB view details)

Uploaded Python 3

File details

Details for the file novacordpy-0.1.0.tar.gz.

File metadata

  • Download URL: novacordpy-0.1.0.tar.gz
  • Upload date:
  • Size: 59.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for novacordpy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 299603533aef13bfe52b7f05a9aff004a7783a85062f0ba9d06f536ede093371
MD5 ca9beeac10098646ef2318e32a73fac8
BLAKE2b-256 034017649089a9f0f248c76dabc8d4385f91e86a569169cf8696bc3bdc7fd600

See more details on using hashes here.

File details

Details for the file novacordpy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: novacordpy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 66.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for novacordpy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5f8c14d4f3cc1bf2bca6a8c7acb74bc8fba5d11450242476fa3b260421f8f55
MD5 e4984e68c5c241c2555e802a93f0a5bd
BLAKE2b-256 f2cf11273deb7b37bddc815911ee55e5fda98ffcfbcf3be904bbdd2a29f6f4b4

See more details on using hashes here.

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