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.
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.
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.
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.