Empowering developers to build the next generation of Python Discord bots.
Welcome! This is the repository for the pre-alpha and heavy conception next major version of Pycord.
Pycord v3 is not yet published onto PyPI, so for now you'll have to install via git. To do this, you should install git if not already installed.
An automatic install should look something like
pip install -U git+https://github.com/pycord-development/pycord-v3
If instead, you wanted to do a manual install (in case of something like development), you could do the following
# Git command
git clone https://github.com/pycord-development/pycord-v3
cd pycord-v3
pip install .
While we are working and striving for stability throughout v3, it's still quite a new library so breakages can still happen especially with us still being in a pre-alpha stage.
v3 is a new major version of pycord, meaning breaking changes have occurred. Although a much larger amount than v2, v3 introduces a new paradigm for Pycord bots and ensures code quality for developers (of the library.)
Every aspect of v2 has been remade and improved upon to make your development experience quicker, easier, and mucho gracias. Breaking changes are everywhere, from typings to Python version increases.
That being said, if you want to move your bot to v3 you'll have to rewrite it. We've made sure to make the rewriting experience easier though, providing less boilerplate than v2 and letting you do anything in smaller snippets.
v3 is made to be the best experience for both developers and users, providing a fast experience for users and a good interface for that for the developer.
We've adopted a modern interface inspired by Hikari to form an interface easier, smarter, and objectively better than discord.py.
Instead of following a mix of object-instance paradigm (in this case think of cog-bot) we're following an instance-only paradigm completely restructuring old features and stripping useless parts from them. Overall a cleanup of v2, and new better interface.
A small code snippet of a basic Pycord v3 bot.
import pycord
bot = pycord.Bot(intents=pycord.Intents())
@bot.listen()
async def handle_new_guild(event: pycord.Ready) -> None:
print('I am ready!')
bot.run('token')