Releases: NAFTeam/molter
v0.11.0
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 usesdis-snek
8.0.0. - FEAT💥: Restructured and added channel converters. Some were removed/renamed in this process.
- FEAT💥:
MolterCommand.all_commands
is now afrozenset
instead of atuple
. - REFACTOR💥:
MolterCommand.params
has been renamed toMolterCommand.parameters
. - FEAT: Added a basic help command for
MolterCommand
s. (#8) - FEAT: Added
register_converter
to allow using normal annotations for commands while usingConverter
s behind the scenes. (#7) - FEAT:
MolterCommand.usage
has been added, allowing you to specify how the command should be used if you don't likeMolterCommand.signature
. - FEAT: Make
Converter
'scontext
Context
instead ofMessageContext
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
- @LordOfPolls made their first contribution in #8
Full Changelog: v0.9.1...v0.11.0
v0.10.0
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 rejectsdis_snek.MessageCommand
, and works with it andMolterCommand
s perfectly.typing.Annotated
support was added.molter
assumes that it needs to use the second paramtere in theAnnotation
.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
andMolterSnake.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
Oops, haha.
- Fix many converters erroring out due to incorrect getting/fetching.
Full Changelog: v0.9.0...v0.9.1
v0.9.0
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 followsdis-snek
'sdev
branch is something I'm considering.
- No, this doesn't work with the latest dev version. A
- 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
An update after a while, woot!
- BREAKING: Upgrade to
dis-snek 6.0.0
. There were some annoying bugs in5.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.
- 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
- BREAKING:
VoiceChannelConverter
has been changed toGuildVoiceConverter
as you can't importdis_snek.VoiceChannel
easily anyways, nor are you intended to. - BREAKING: Subcommands are now created with
subcommand
only rather than withcommand
and its aliases. This is to be more consistent withdis-snek
itself, especially with how it handles slash commands. MolterCommand.signature
is a thing! It's more or less exactly howdiscord.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
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 ofdis_snek
will no longer work.EmojiConverter
has been removed as Molter no longer supports versions below5.0.0
.CustomEmojiConverter
was changed to be faster if you have emoji caching on.
- Molter now uses modern
attr
API names,attr.define
andattr.field
, overattr.s
andattr.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
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 usehierarchical_checking
on the base command).
- These do not work like
MolterScale
has been removed. Try to useMolterSnake
if you can - it works great!- Fixed Molter with the the
master
/dev
branches ofDis-Snek
. This was caused byEmoji
being renamed toPartialEmoji
- Molter now automatically will detect which one to use!
Full Changelog: v0.5.1...v0.6.0
v0.5.1
A quick little bugfix.
- Replaced a
return
with acontinue
in the two override classes, allowing for more than one alias and proper processing ofScales
/commands in general.
Full Changelog: v0.5.0...v0.5.1
v0.5.0
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 indiscord.py
except that they must be a string. However, in order to use them, you must use: - Added
MolterSnake
andMolterScale
, two classes that subclassSnake
andScale
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
orbrief
parameter were passed and the command lacked any docstrings of its own.
Full Changelog: v0.4.0...v0.5.0
v0.4.0
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 todiscord.py
'signore_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