An extension for disnake providing a robust alternative to cogs.
Project description
disnake-ext-plugins
An extension for disnake that serves as a robust replacement for cogs. No more pointless inheritance, no more singleton classes serving as little more than a namespace, and no more unexpected behaviour when you get anywhere near the inner workings of your extensions.
Key Features
- Smoothly integrates with disnake,
- Manage your extensions without inheritance,
- Minimum boilerplate, maximum control.
Installing
Python 3.8 or higher is required
To install the extension, run the following command in your command prompt/shell:
# Linux/macOS
python3 -m pip install -U disnake-ext-plugins
# Windows
py -3 -m pip install -U disnake-ext-plugins
After installing, disnake-ext-plugins can be imported as
import disnake_plugins
Example
import disnake
import disnake_plugins
plugin = disnake_plugins.Plugin()
@plugin.slash_command()
async def my_command(inter: disnake.CommandInteraction):
await inter.response.send_message("Woo!")
setup, teardown = plugin.create_extension_handlers()
Further examples can be found in the examples directory.
Why not disnake.ext.plugins?
Registering into the disnake.ext
namespace brings with it a variety of issues, starting with being unable to properly make editable installs into .../site-packages/disnake/ext/
. It also leads to inconsistencies with Sphinx autodoc & co., which are simply annoying to work around.
This extension used to be part of the disnake.ext
namespace, and there used to be a symlink script to get around the editable install limitation. However, we ultimately decided staying in the disnake.ext
namespace for its "legacy" wasn't worth the headaches.
Contributing
Any contributions are welcome, feel free to open an issue or submit a pull request if you'd like to see something added. Contribution guidelines will come soon.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for disnake_ext_plugins-0.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ff55e50229ef7394f8a412395c4a6d0df652b01d9aba501c0a766ade75b074f |
|
MD5 | 744dd3f0134fcf47a07f05e824a87386 |
|
BLAKE2b-256 | 91c4165db95505242c3d59aba16257f065a51a8a411f66fe175516e3db90e319 |
Hashes for disnake_ext_plugins-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bc462c74d71e4390f795ff8ec7615b6930246a0a874d849f3bd87e465eef47e |
|
MD5 | 97ed8d00d4ab34dc4617c333cc5a03b4 |
|
BLAKE2b-256 | 66c0b0d7a8e7816970f75da1399d733f312f1846f5ad58332642297b7fc16168 |