Skip to content

Releases: Defxult/reactionmenu

v3.1.7

06 Jul 13:05
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where ViewSelect.GoTo allowed all users to control the menu (#57)

v3.1.6

25 Apr 14:00
Compare
Choose a tag to compare

New Features

  • Added method Page.from_embeds()

Miscellaneous

  • In a ViewSelect, the discord.SelectOption parameter default can no longer be set to True (#55).

v3.1.5

29 Nov 18:52
Compare
Choose a tag to compare

Updated

  • Removed explicit passing of coroutines to asyncio.wait() (#51).

v3.1.4

04 Aug 15:38
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where the slash command in hybrid commands would result in a "The application did not respond" error (#47).

v3.1.3

09 Feb 20:28
fd8ef1c
Compare
Choose a tag to compare

Bug Fixes

  • Fixed a dependency issue where typing-extensions would cause installation problems

v3.1.2

09 Jan 13:55
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where an error would occur when pip installing the library

v3.1.1

01 Dec 06:17
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where a ViewMenu would result in an exception/indefinite "thinking" state if the user already responded to the interaction (#38)

Miscellaneous

  • Added support for GitHub commit hash versioning. This will help determine exactly what commit version of the library the user is using.

v3.1.0

23 Aug 19:48
Compare
Choose a tag to compare

Breaking Changes

  • This library is no longer dependent on Pycord. It has changed back to discord.py
  • Parameter ctx has been changed to method for ReactionMenu & ViewMenu constructor and is now positional only
  • Parameter menu_type for ReactionMenu & ViewMenu constructor is now keyword only
  • The auto-paginate feature for ReactionMenu has been removed
  • The Page class has been added. Represents each "page" added via .add_page()/.add_pages()
  • Using .last_viewed now returns a Page. .pages now returns a List[Page]
  • Class methods ViewButton.skip() & ReactionButton.skip() has been renamed to .generate_skip() because of an earlier name conflict.
  • The default behavior for the below methods have changed. Previously, using the below methods would return/stop menu's for both ReactionMenu & ViewMenu. With this update, each method by default now returns or stops menu's according to whichever class the method was invoked from. For example, ViewMenu.stop_all_sessions() only stops all ViewMenu sessions instead of all ReactionMenu sessions as well as ViewMenu sessions.
    • .get_all_dm_sessions()
    • .get_all_sessions()
    • .get_session(name: str)
    • .stop_all_sessions()
    • .stop_session(name: str, include_all=False)
    • .get_sessions_count()
    • With this change, methods .split_sessions() & .stop_only() have been removed
  • With the addition of selects in ViewMenu, method .refresh_menu_buttons() has been renamed to .refresh_menu_items()
  • Parameters remove_buttons and disable_buttons have been removed from method ViewMenu.stop(). With the addition of selects, the following new parameters will now take their place
    • remove_items
    • disable_items
  • The following attributes have been renamed in the ViewMenu class
    • disable_buttons_on_timeoutdisable_items_on_timeout
    • remove_buttons_on_timeoutremove_items_on_timeout
  • Method .add_from_messages() is no longer async

Bug Fixes

  • Fixed an issue where ViewButton link buttons would be removed even after setting it as persistent
  • Using the reply kwarg for ReactionMenu in a thread or voice channel now works as intended

New Features

ReactionMenu & ViewMenu
  • Pagination is no longer limited to just embeds or text. The normal embed menu can now paginate with embeds, text, as well as files. With this, method .add_page() has two new parameters
    • Old: .add_page(embed)
    • New: .add_page(embed=MISSING, content=None, files=MISSING)
  • Added class method quick_start(). Start a menu with it's default settings only adding the pages
  • Added property menu_type. Displays the menu type that was set in the constructor
  • Added property rows. Returns all the data that was added to the menu via .add_row()
  • Added method .randomize_embed_colors(). Selects a random color for all embeds added to the menu
  • Added the ability to set the separator between the page director and embed footer text via the separator parameter
    • .set_page_director_style(..., separator=DEFAULT)
  • Added support for voice channels to be utilized via the send_to parameter in the .start() method.
ViewMenu Only
  • Added the ability to use a select to go to a page instead of using text input
  • Added the persist kwarg to ViewButton. This prevents link buttons from being disabled/removed when the menu times out or is stopped so they can remain clickable
  • Added class ViewSelect. Used to choose categories in the menu. With the addition of selects, the following methods have been added
    • .add_select(select: ViewSelect)
    • .remove_select(select: ViewSelect)
    • .remove_all_selects()
    • .disable_select(select: ViewSelect)
    • .disable_all_selects()
    • .enable_select(select: ViewSelect)
    • .enable_all_selects()
    • .get_select(title: Union[str, None])
    • .set_select_option_relay(func: Callable[[NamedTuple], None], *, only: Optional[Sequence[str]]=None)
    • .remove_select_option_relay()
  • Added property .selects. Returns all ViewSelect associated with the menu

Miscellaneous

  • Added exception SelectNotFound
  • The Page class has been added to __init__ and is now available for use
  • If the method parameter in either the ReactionMenu or ViewMenu constructor is of the wrong type, IncorrectType is now raised

v3.0.2

13 Apr 17:50
dfe4971
Compare
Choose a tag to compare

New Features

ReactionMenu & ViewMenu
  • Added class method quick_start(). Start a menu with it's default settings only adding the pages
  • Added property menu_type. Displays the menu type that was set in the constructor
ViewMenu Only
  • Added the persist kwarg to ViewButton. This prevents link buttons from being disabled/removed when the menu times out or is stopped so they can remain clickable

Changes

ReactionMenu & ViewMenu
  • The default behavior for the below methods have changed. Previously, using the below methods would return/stop menu's for both ReactionMenu & ViewMenu. With this update, each method by default now returns or stops menu's according to whichever class the method was invoked from. For example, ViewMenu.stop_all_sessions() only stops all ViewMenu sessions instead of all ReactionMenu sessions and ViewMenu sessions. This is done with the addition of the fixed parameter for the following methods. If you like the old behavior, simply set the fixed parameter to False

    • .get_all_dm_sessions(fixed=True)
    • .get_all_sessions(fixed=True)
    • .get_session(name: str, fixed=True)
    • .stop_all_sessions(fixed=True)
    • .stop_session(name: str, include_all=False, fixed=True)
    • .get_sessions_count(fixed=True)

    With this change, method .stop_only() is now deprecated

v3.0.1

03 Feb 00:26
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where exceptions were being suppressed if one was to occur during the pagination process (ReactionMenu only)

New Features

ReactionMenu & ViewMenu
  • Added method await wait_until_close()