Skip to content
This repository has been archived by the owner on May 1, 2022. It is now read-only.

Releases: NAFTeam/molter

v0.11.0

07 Apr 13:11
Compare
Choose a tag to compare

Oh lord is this update huge backend wise. Front-end wise, it's not horrible, but there's still a lot.

And never mind on this being the last update... there's a lot that happened since then.

What's Changed

  • FEAT💥: molter now uses dis-snek 8.0.0.
  • FEAT💥: Restructured and added channel converters. Some were removed/renamed in this process.
  • FEAT💥: MolterCommand.all_commands is now a frozenset instead of a tuple.
  • REFACTOR💥: MolterCommand.params has been renamed to MolterCommand.parameters.
  • FEAT: Added a basic help command for MolterCommands. (#8)
  • FEAT: Added register_converter to allow using normal annotations for commands while using Converters behind the scenes. (#7)
  • FEAT: MolterCommand.usage has been added, allowing you to specify how the command should be used if you don't like MolterCommand.signature.
  • FEAT: Make Converter's context Context instead of MessageContext so it has a chance of being used with other types of commands in the future.
  • FEAT: Make MolterCommand hashable.
  • FEAT/REFACTOR: Adjust parameter parsing to allow more control, allowing for MolterCommand.parse_parameters to be used by you if you need it.
  • REFACTOR: Much of the backend has changed to match up more closely with dis-snek's style.
  • REFACTOR: MolterCommand.signature has been redone. It may give slightly more accurate results.
  • DOCS: Added docstrings to many utility functions.
  • CI: pre-commit-related files were updated.

New Contributors

Full Changelog: v0.9.1...v0.11.0

v0.10.0

16 Mar 15:46
Compare
Choose a tag to compare

Minus bug fixes, this may be the second-to-final separated release of this version of molter. molter as an idea isn't exactly dead - I still want to go and see what I can do with slash commands and all - but it'll become more of a personal project that won't get merged with dis-snek ever rather than what it is now.

What's Changed

New Features

  • MolterSnake no longer rejects dis_snek.MessageCommand, and works with it and MolterCommands perfectly.
  • typing.Annotated support was added. molter assumes that it needs to use the second paramtere in the Annotation.
  • MessageConverter now uses a potentially faster method to get messages. At worst, it takes the same amount of time as the previous method.

Bug Fixes

  • Arguments no longer get split at newlines.
  • MolterCommand.invoked_name now can have newlines if they were being used.
  • MolterCommand.get_command and MolterSnake.get_command work correctly with newlines now.
  • MolterCommand.remove_command no longer errors out with invalid names.
  • MolterCommand.qualified_name works correctly now.
  • MolterCommand.all_commands no longer errors out.

Other

  • pre-commit's config was updated a bit.

Full Changelog: v0.9.1...v0.10.0

v0.9.1

27 Feb 05:07
Compare
Choose a tag to compare

Oops, haha.

  • Fix many converters erroring out due to incorrect getting/fetching.

Full Changelog: v0.9.0...v0.9.1

v0.9.0

27 Feb 04:54
Compare
Choose a tag to compare

This doesn't really feel like a major release, but semantic versioning is what it is because this update technically is breaking.

  • BREAKING: Upgrade to dis-snek 7.0.0, as it would have been annoying to support v6 and v7 at the same time.
    • No, this doesn't work with the latest dev version. A dev branch that closely follows dis-snek's dev branch is something I'm considering.
  • All converters that checked for an ID no longer check for an ID between 15-20 characters have been made so they only check for 15+ characters - who knows, maybe Discord will go over that limit.
  • Added a converter for dis_snek.Message, MessageConverter! This allows users to provide messages via a message link or a message ID, for example.

Also, we're a part of the Snake-Pit organization now! Isn't that cool? Doesn't mean anything for this project beyond being officially recognized, though - merging with dis-snek isn't something that's going to be happening super soon.

Full Changelog: v0.8.0...v0.9.0

v0.8.0

22 Feb 02:43
Compare
Choose a tag to compare

An update after a while, woot!

  • BREAKING: Upgrade to dis-snek 6.0.0. There were some annoying bugs in 5.0.0.
    • This does not work with the latest dev version, or at least won't work correctly - sorry! It'll be fixed once the next version of dis-snek comes out.
  • BREAKING: VoiceChannelConverter has been changed to GuildVoiceConverter as you can't import dis_snek.VoiceChannel easily anyways, nor are you intended to.
  • BREAKING: Subcommands are now created with subcommand only rather than with command and its aliases. This is to be more consistent with dis-snek itself, especially with how it handles slash commands.
  • MolterCommand.signature is a thing! It's more or less exactly how discord.py did it - it's basically a way of getting a POSIX-like signature for a command's arguments.
  • MolterSnake.get_command(name) is a thing too! It allows you to get a command from its name, aliases or not, and even can go through subcommands.
  • Some fixes and adjustments here and there.

Full Changelog: v0.7.0...v0.8.0

v0.7.0

03 Feb 03:48
Compare
Choose a tag to compare

A small update, but hey, I'm back! Sorry, life got in the way. This update is really just about addressing dis_snek 0.5.0, which introduced a lot of breaking changes that needed to be accounted for.

Updates

  • BREAKING: Upgraded to dis_snek 5.0.0. Older versions of dis_snek will no longer work.
    • EmojiConverter has been removed as Molter no longer supports versions below 5.0.0.
    • CustomEmojiConverter was changed to be faster if you have emoji caching on.
  • Molter now uses modern attr API names, attr.define and attr.field, over attr.s and attr.ib.

New Contributors

  • @silasary made their first contribution in #1! Thanks so much for this - it saved me quite a bit of time, even if it wasn't perfect.

Full Changelog: v0.6.0...v0.7.0

v0.6.0

14 Jan 04:36
Compare
Choose a tag to compare

Finally, subcommands!

  • Subcommands have been added! They do not require a different decorator - you can make any command a subcommand by doing base_cmd.command(), and it'll work!
    • These do not work like discord.py subcommands, as you expect, and you shouldn't treat them like one. The base command will always be run if no subcommand is found, and base command checks, by default, are run before subcommand checks (in case you want to run just subcommand checks, you can use hierarchical_checking on the base command).
  • MolterScale has been removed. Try to use MolterSnake if you can - it works great!
  • Fixed Molter with the the master/dev branches of Dis-Snek. This was caused by Emoji being renamed to PartialEmoji - Molter now automatically will detect which one to use!

Full Changelog: v0.5.1...v0.6.0

v0.5.1

09 Jan 18:39
Compare
Choose a tag to compare

A quick little bugfix.

  • Replaced a return with a continue in the two override classes, allowing for more than one alias and proper processing of Scales/commands in general.

Full Changelog: v0.5.0...v0.5.1

v0.5.0

09 Jan 04:43
Compare
Choose a tag to compare

We're slowly getting into phase 2 of Molter, where the features that require digging into Dis-Snek itself is being added.

  • Added aliases, working as they did in discord.py except that they must be a string. However, in order to use them, you must use:
  • Added MolterSnake and MolterScale, two classes that subclass Snake and Scale to add in alias support for each of the two classes. You must use one or the other - you cannot use both. You also MUST use them to use aliases.
  • Made name positional, while making everything else keyword-only for the decorator.
  • Fixed the message command decorator erroring out when neither a help or brief parameter were passed and the command lacked any docstrings of its own.

Full Changelog: v0.4.0...v0.5.0

v0.4.0

31 Dec 23:41
Compare
Choose a tag to compare

A very simple update, mainly to set out parts needed for the next part of molter and to show this project isn't dead.

  • Added some command parameters, like help text and a feature similar to discord.py's ignore_extra.
    • Note: these changes are simple, but they may break as I may have missed something. If so, sorry! I'll fix that ASAP.

Full Changelog: v0.3.2...v0.4.0