Skip to content

v1.14.0

Choose a tag to compare

@FasterSpeeding FasterSpeeding released this 03 May 19:10
· 147 commits to master since this release
71cb1ef

1.14.0 - 2023-05-03

Added

  • authors option to components.ActionColumnExecutor.__init__.
  • Functions for generating Discord Oauth2 authorize links and bot invite links to yuyo.links.
  • ActionColumnExecutor.with_interactive_button.
  • ActionColumnExecutor.with_static_interactive_button.
  • ActionColumnExecutor.with_mentionable_menu.
  • ActionColumnExecutor.with_static_mentionable_menu.
  • ActionColumnExecutor.with_role_menu.
  • ActionColumnExecutor.with_static_role_menu.
  • ActionColumnExecutor.with_user_menu.
  • ActionColumnExecutor.with_static_user_menu.
  • ActionColumnExecutor.with_channel_menu.
  • ActionColumnExecutor.with_text_menu.
  • ActionColumnExecutor.with_static_text_menu.
  • yuyo.components.column_template shorthand function for creating a column subclass.

Changed

  • Message component custom IDs are now defaulted to a constant ID that's generated from the function's path (which includes the relevant module and class qualnames) when added using the as_ descriptors in yuyo.components.
  • The id_metadata field in components.ActionColumnExecutor.__init__ now also supports using a component callback's name in the class' namespace as the key (specifically when it was added using one of the as_ descriptors).
  • The auto-generated default UUID custom IDs now only consist of the UUID's hex (without any -), bringing the length down from 36 chars to 32.
  • The descriptors returned by the as_ decorators in yuyo.components are now hidden when accessed directly on classes. The decorated callback will now be directly exposed as the class attribute instead.

Fixed

  • ActionColumnExecutor and Modal both now properly relay __init_subclass__ keyword arguments when being used in mixed inheritance.

Removed

  • yuyo.components.with_static_interactive_button
  • yuyo.components.with_static_link_button
  • yuyo.components.with_static_select_menu
  • yuyo.components.with_static_channel_menu
  • yuyo.components.with_static_text_menu
  • The following deprecated functionality and aliases:
    • ActionRowExecutor in favour of the new action column executor.
    • Allowing callback to be passed as the first argument and type as the second argument for ActionColumnExecutor.add_select_menu, and ActionColumnExecutor.add_static_select_menu.
    • timeout keyword argument from ComponentExecutor.__init__, ActionColumnExecutor.__init__, and ComponentPaginator.__init__.
    • prefix_match keyword argument from Modal.add_static_text_input, Modal.add_text_input, modals.with_static_text_input modals.with_text_input, and modals.text_input.
    • ComponentContext.select_channels
    • ComponentContext.select_roles
    • ComponentContext.select_texts
    • ComponentContext.select_users
    • ComponentContext.select_members
    • ComponentClient.set_constant_id
    • ComponentClient.get_constant_id
    • ComponentClient.remove_constant_id
    • ComponentClient.with_constant_id
    • ComponentClient.set_executor
    • ComponentClient.get_executor
    • ComponentClient.remove_executor
    • AbstractComponentExecutor.has_expired
    • AbstractComponentExecutor.timeout
    • ComponentExecutor.has_expired
    • ComponentExecutor.timeout
    • ActionColumnExecutor.timeout
    • ActionColumnExecutor.has_expired
    • ActionColumnExecutor.add_button
    • ActionColumnExecutor.add_interative_button
    • ActionColumnExecutor.add_static_button
    • ActionColumnExecutor.add_static_interative_button
    • ActionColumnExecutor.with_static_button
    • ActionColumnExecutor.with_static_interative_button
    • ActionColumnExecutor.with_static_select_menu
    • ActionColumnExecutor.add_channel_select
    • ActionColumnExecutor.add_static_channel_select
    • ActionColumnExecutor.with_static_channel_select
    • ActionColumnExecutor.add_text_select
    • ActionColumnExecutor.add_static_text_select
    • ComponentPaginator.builder
    • ComponentPaginator.add_row
    • components.with_static_button
    • components.with_static_interative_button
    • components.with_static_channel_select
    • InviteLink.fetch
    • InviteLink.get
    • MessageLink.fetch
    • MessageLink.get
    • TemplateLink.fetch
    • WebhookLink.fetch
    • modals.AbstractTimeout
    • modals.BasicTimeout
    • modals.NeverTimeout
    • ModalClient.set_modal
    • ModalClient.remove_modal
    • timeouts.BasicTimeout
    • yuyo.BasicTimeout