14 Commits

Author SHA1 Message Date
Choco
47ec3d212a Refactor controller UI and bump version
Refactor interactive controller components and tweak command signatures.

- Make lyrics command accept keyword-only args (adds a leading * for title/artist).
- Bump version to v2.7.3b3.
- Import dispatch_message and add send_embed helper to ControlButton for embed responses.
- Introduce ControlSelect (base for selects) and refactor Tracks/Effects to inherit it, pass player explicitly and fix placeholder/player usage.
- Namespace localization keys (e.g. player.controls.forward/rewind) and defer interaction responses where appropriate.
- Replace direct send_localized_message calls with ControlSelect/ControlButton send wrappers to honor controller message settings.
- Add additional on_error handling for VoicelinkException and ensure non-ephemeral message deletion behavior follows controller settings.

These changes improve consistency for UI components, interaction handling, and localization usage.
2026-04-15 11:57:08 +08:00
Choco
629eb041f6 Use player.controls key for autoplay
Replace the 'autoplay' translation key with 'player.controls.autoplay' when sending the autoplay status message. Behavior is unchanged: the setting is toggled, a localized enabled/disabled message is sent, and do_next() is called if the player isn't playing.
2026-04-13 22:59:20 +08:00
Choco
8fdceef4db Add user selection modal for playlist sharing
Introduces a modal dialog to select a user when sharing a playlist, improving the user experience. Updates the PlaylistView to use the new BaseModal for sharing, and enhances BaseModal to support select components and store their values.
2025-11-29 11:20:21 +08:00
Choco
e2ba8b472a Refactor message dispatch and playlist view error handling
Updated dispatch_message to use discord.utils.MISSING and improved content formatting. Added error handling in PlaylistView for VoicelinkException and refactored on_timeout logic in PlaylistViewManager to avoid duplication. Minor improvements to playlist track rendering.
2025-11-20 23:34:34 +08:00
Choco
c1ad86563b Fix queue history display logic in QueueView
Updates the QueueView to pass 'not player.current' to player.queue.history(), ensuring the history is correctly reversed and displayed when not showing the current queue.
2025-10-09 11:12:29 +08:00
Choco
c28f17ea43 Update playlist link validation and info text
Standardized playlist link validation messages across all language files and code, removing specific references to Spotify and YouTube. Updated README and help view to reflect broader platform support and clarified instructions. Removed unused YouTube regex and related thumbnail logic from objects.py.
2025-10-08 12:19:56 +08:00
Choco
7d8bec787c Refactor modals to use BaseModal and update node stats
Replaced custom ExecuteModal and AddNodeModal classes with a generic BaseModal for code execution and node creation. Updated Node class to initialize _stats attribute. Adjusted logic in NodesPanel to check for node stats before displaying memory info.
2025-10-06 16:10:53 +08:00
Choco
b503385542 Refactor modal usage and error handling in views
Replaced custom Modal class with BaseModal in embed_builder.py for consistency and maintainability. Updated modal instantiation to use custom_id and improved value handling. Removed redundant on_error methods from help.py, pagination.py, and search.py, and delegated error handling to superclass in controller.py for cleaner error management.
2025-10-06 15:56:30 +08:00
Choco
7f6135801d Add items property to Pagination and refactor QueueView
Introduced an 'items' property to the Pagination class for direct access to the underlying items list. Refactored QueueView to use this new property, improving code clarity and consistency.
2025-10-05 22:39:07 +08:00
Choco
5c98e60f91 Set default current view in DynamicViewManager
Initializes _current_view to the 'home' view if present, instead of None. Also removes unused BaseModal import and fixes type annotation for Pagination in QueueView.
2025-10-05 22:28:01 +08:00
Choco
50298d2709 Resolve MongoDB handler not updating cache 2025-10-03 14:55:29 +08:00
Choco
81a8603e1d Added default language in language handler 2025-10-02 12:28:50 +08:00
Choco
20df3703c3 Refactor localization keys 2025-10-02 00:10:25 +08:00
Choco
ef54f96f51 Migrate scripts to voicelink, rewrite handlers and views 2025-09-29 19:39:19 +08:00