Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update config sections and add a configuration tool. #2442

Open
wants to merge 41 commits into
base: dev
Choose a base branch
from

Conversation

itsTheFae
Copy link
Contributor

@itsTheFae itsTheFae commented Dec 24, 2024

  • I have tested my changes against the dev branch (the latest developmental version), and this pull request is targeting that branch as a base
  • I have tested my changes on Python 3.8 or higher
  • I have ensured my code is formatted using Black

Description

Draft for discussion and review of non-backward compatible changes to options.ini
This PR re-organizes options.ini with new sections for better clarity. It also adds a configuration tool which can be used to manage all of the configuration of MusicBot, with exception of playlist management functions.

Naturally, the install scripts have been updated to make use of the new configure.py tool in place of the previous configuration logic available in each install script.

The configure.py is intended to be run directly via python. It requires windows-curses pip package on windows, and will attempt to automatically install this package if it is missing.
This tool will check the Token option when it is updated to make sure it is working but it will not prevent the user from saving an invalid token the same way it may prevent updating some options with invalid values.

Noteworthy changes

  • Add a new command-line configuration tool.
    This replaces the previous config steps in install scripts and can be used stand-alone at any time.
  • Allow most play commands to also play attachments, instead of manually copying the attachment link.
  • Expand search service support in search command.
  • Enable selection of default search service by setting DefaultSearchService prefix in options.ini
  • Dropped support of Python 3.8 as it is officially End-of-Life.
  • Language tool lang.py now includes calling function/keyword in POT files.
  • Language tool lang.py now offer language selection and Machine translation via argostranslate.
  • Cookies warning has been removed. (maybe this should be put back differently? docs?)
  • Integrated OAuth2 support has been removed, no longer supported.
  • Add option to disable mentioning authors in responses.
  • Fixed config missing producing more text than discord will allow to send.
  • Set UseOpusAudio as enabled by default. (seems better than PCM in most cases.)

TODO

  • Run install tests:
    • Windows 10
    • Ubuntu 20.04
    • Ubuntu 22.04
    • Ubuntu 24.04
    • Debian 10
    • Debian 11
    • Debian 12
    • Pop! OS 22.04
    • Arch (2025.01.01)
  • Update i18n strings.
  • Update docs.
  • Update example_options.ini
  • Run testrig to check if most things at least kind of work...

Add token checking to configure.py
Add options to lang.py  -L for language select.  
Add experimental lang.py option -A for machine translation via argostranslate local downloaded models.
… describe the missing options.

Fix display of values in the config show command.
Add cli option to update example files.
Permissions extractor list is now sorted.
@itsTheFae itsTheFae marked this pull request as ready for review January 13, 2025 15:31
@itsTheFae itsTheFae requested a review from srhinos as a code owner January 13, 2025 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant