Skip to main content

Message commands in interactions.py! A port of dis-snek's molter.

Project description

interactions-molter

Message commands in interactions.py! A port of 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.

Installation

pip install git+https://github.com/Astrea49/interactions-molter.git

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.1.0.tar.gz (17.2 kB view hashes)

Uploaded Source

Built Distribution

interactions_molter-0.1.0-py3-none-any.whl (19.0 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