Skip to main content

a collection of utils I use with discord.py

Project description

discord-ext-utils

a collection of utils I use with discord.py

This repo includes

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

discord-ext-utils-0.0.1.tar.gz (7.9 kB view hashes)

Uploaded Source

Built Distribution

discord_ext_utils-0.0.1-py3-none-any.whl (9.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page