Skip to main content

An extension library for interactions.py to add text-based commands! Ported from dis-snek.

Project description

PyPI Downloads Code style: black

interactions-molter

An extension library for interactions.py to add text-based (AKA message or prefix) commands! Ported from dis-snek's molter.

This attempts to make the message command experience much like discord.py's message commands, though it is not 1:1 on purpose.

NOTE: This is a work in progress! Some things may be broken, and some things may not work as they should. More features need to be added, too.

NOTE 2: This extension is primarily developed by Astrea49. Direct questions about this to her, please!

Installation

pip install interactions-molter

Example

Standalone

import interactions
from interactions.ext import molter

bot = interactions.Client(
    token="TOKEN",
    intents=interactions.Intents.DEFAULT | interactions.Intents.GUILD_MESSAGE_CONTENT,
)
molt = molter.Molter(bot)


@molt.msg_command(aliases=["test2"])
async def test(ctx: molter.MolterContext, some_var: int):
    await ctx.reply(str(some_var))


bot.start()

Extension

import interactions
from interactions.ext import molter

# very important to use the below instead of Extension
# message commands will not work otherwise
class Extend(molter.MolterExtension):
    def __init__(self, bot: interactions.Client):
        self.bot = bot

    @molter.msg_command()
    async def soup(self, ctx: molter.MolterContext):
        await ctx.reply("give soup")

def setup(bot: interactions.Client):
    Extend(bot)

Other examples

To view more examples and understand how molter works, take a look at the examples folder in this repository.

Credit

Thanks to both dis-snek and Toricane's interactions-message-commands for a decent part of this! They both had a huge influence over how this port was designed.

TODO

  • Add in documentation, or at least fill out docstrings.

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

interactions-molter-0.3.0.tar.gz (19.0 kB view hashes)

Uploaded Source

Built Distribution

interactions_molter-0.3.0-py3-none-any.whl (20.9 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