a collection of utils I use with discord.py
Project description
dpy-utils
a collection of utils I use with discord.py
This repo includes
- global view error handler global
- global modal error handler
- global view interaction_check
- CodeblockConverter
- BaseConverter
- Custom bot subclass
- send_message
Guide/wiki/docs
global view error handler
To use it, simply subclass our view class instead of discord.ui.View
. (or if your using a modal, our modal class instead of discord.ui.Modal
)
After that, our subclass will call on_view_error
(or on_modal_error
) then view.on_error
(or modal.on_error
) in the case of an errorrrr.
global view interaction_check
To use it, simply subclass our view class instead of discord.ui.View
.
Our subclass will call bot.interaction_check
(if it exists) which acts like view.interaction_check
. If it returns True
, then it will check view.interaction_check
.
BaseConverter
We have a base converter class which allows you to easily make converters which work for slash, prefix, and hybrid cmds. Example:
class MyConverter(BaseConverter):
async def handle(self, ctx_or_interaction, arg) -> str:
# handle
return ag
CodeblockConverter
CodeblockConverter
is actually an typing.Annotated
statement, which returns Codeblock
(a dataclass with code
and language
). For the actual converter, see ActualCodeblockConverter
.
Custom bot subclass
We have a custom bot subclass which you can subclass and use. It contains a re-populated session attribute, and a bot.load_extensions
method which can either take a list of extensions or a folder which your extensions reside in. It will then load them, and if there is an error it will send it via logs. It also has a setup_logging
method, which is auto-called when calling bot.run/start
.
send_message
this helper func lets you easily send a message. It takes a pos-only arg which is the destination. This could be a context object, interaction, channel, member, webhook, or a messageable. It also takes every kwarg any send method takes, and if a certain method does not support a kwarg it will drop it.
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 discord-ext-utils-0.0.1a0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1cb23097e0123a9c835de6565fed0793d2c019e5e69f18505c629ed0c7653e3 |
|
MD5 | 2e6da2000c7b0134616c7a9ac710effd |
|
BLAKE2b-256 | 5b5545ecea48226a61e5e982668c2532e1985e8cf78bc0a240e7ac12d6ffdadf |
Hashes for discord_ext_utils-0.0.1a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ba1f40a7ae0ff13016edfd58324f25545d2318cc34a9f7ecda69fe62860b79a |
|
MD5 | 5819da99d1858213df1b8eb1b3b9cf01 |
|
BLAKE2b-256 | 82cf342956d066653dcf5d93f005c5231ec610a4ecade260c453067fff3039fb |