Skip to content

0.1.0

Compare
Choose a tag to compare
@Kenny2github Kenny2github released this 06 Jan 11:35
· 96 commits to main since this release

Changes

New Stuff

  • Subcommands
    • Since groups can't be executed on their own, their coroutines are used as checks instead.
    • Command.parent references its parent group
    • Command.qualname gives the fully qualified name
    • class Group: @.slash_cmd(), @.slash_group()
    • @SlashBot.slash_group(), @slash.group()
  • Context.options is a dict of option names to values that will be passed/have been passed to the command coroutine
  • logging.getLogger('discord.ext.status')
  • @Command.check registers a command-specific check
  • check is also a new kwarg in Command.__init__
  • Choice.from_data supports string values (which are doubled) and dict values (which are **ed) and Choice values (which are passed through)
  • Option.choices has Choice.from_data mapped onto it
  • demo_bot.py is an example of how to use the library

Changed

  • Command.method renamed to Command.coro
  • Slash commands will only start being dispatched once the ready event is triggered the first time
  • The CommandNotFound error is directly raised instead of dispatched through the event system
  • Interaction objects are now only supported at version 1.

Fixes

  • Some ext.commands things broke because Command.cog didn't exist. It does now, and is always None
  • When Context.guild is a discord.Object, that used to cause the member fetching to fail because of an AttributeError
  • allowed_mentions was being ignored in respond if SlashBot.allowed_mentions was None
  • Reusing the same Option instance used to set the name of all options that use it to be the same. Now the instance is cloned instead.
  • Options with choices used to be broken because Option.to_dict didn't call Choice.to_dict