0.2.0
New features:
PrefixFrameworkOptions::ignore_botsto disable executing commands posted by botsbuiltins::register_application_commands_buttons()allows managing slash command registration with buttons#[poise(subcommands(...))]attribute argument as a convenient alternative to manually setting theCommand::subcommandsfielddispatch_event()function to allow running your own event loop without involving Framework at allModal::create()andModal::execute_with_defaults()can be used to spawn a modal with pre-filled valuesdefault_member_permissionscommand attribute argument, part of Discord Permissions V2Context::partial_guildto easily get guild information without cache enabled
API updates:
- Poise no longer depends on serenity's cache feature
- Some structs and enums were made non-exhaustive to make future non-breaking changes easier
- The
Eventenum has been updated to include allserenity::EventHandlerevents again FrameworkBuilder::initialize_owners()takes self instead of &mut self, like the other builder methods- The macro generated code emits
::std::result::Resultinstead ofResultnow, which prevents collisions with user-defined Result type aliases CreateReplynow implementsClone- Some callbacks were changed to receive
FrameworkContext<'_, U, E>instead of&Framework<U, E>(had to be done fordispatch_event())
Behavior changes:
- Autocomplete callbacks and argument parse errors don't cause a cooldown trigger anymore
- Features using the bot's ID now work again (execute_self_messages, required_bot_permissions, mention_as_prefix)
- Guild owners can no longer register slash commands in their guild (only bot owners now)
- Compile times should be faster through less monomorphization bloat
- Attachments in initial responses are supported now
Detailed changelog: v0.1.0...v0.2.0