v0.8.0
Pre-release
Pre-release
Overview
Breaking changes:
- Some TOML configuration keys are now properly nullable, using the
'n/a'value to indicate
such.- Config keys
max_duration,media_dir_warn_threshold,inactivity_timeout, and
lonely_timeoutnow use'n/a'instead of-1or0to indicate they should be disabled
- Config keys
- Lydian can now optionally check for new releases at startup, toggled with the
check_for_updates
configuration key (orLYDIAN_CHECK_UPDATESenvironment variable).- You can check for updates manually by running
lydian-update. - By default, pre-releases are skipped during this check. Set the
check_for_stable_onlyconfig
key tofalseto include pre-releases.
- You can check for updates manually by running
- The media queue now has a shuffle mode, use
-shuffle <on|off>to enable or disable it. - Lydian now includes exception arguments in "unexpected error" messages.
- Full tracebacks are still only available in Lydian's logs.
- A temporary (deletes after 10 seconds) message is now sent when skipping a track
Added
- Added config key
bot_console(boolean)- env:
LYDIAN_BOT_CONSOLE
- env:
- Added config key
check_for_updates(boolean)- env:
LYDIAN_CHECK_UPDATES
- env:
- Added config key
check_for_stable_only(boolean)- env:
LYDIAN_CHECK_STABLE_ONLY
- env:
- Added console commands
versionandupdates - Added module
update - Added debug bot commands
-argstrand-argint - Added bot commands:
-issues-repo-shuffle
- Added attribute
cogs.voice.VoiceCog.shuffle - Added attributes
converter_envandconverter_tomltoconfig.ConfigFieldMeta - Added command methods
cogs.debug.DebugCog.argstr()andcogs.debug.DebugCog.argint() - Added command methods
cogs.general.GeneralCog.repo()andcogs.general.GeneralCog.issues() - Added command method
cogs.voice.VoiceCog.toggle_shuffle() - Added method
console.LydianConsole.version() - Added classmethod
tools.todos.Todo.parse_todos()- Parses
Todoobjects directly from a string without needing file paths
- Parses
- Added method
tools.todos.Todo.with_file() - Added function
util.exc_str()
Changed
- Package version is now set dynamically using
__version__from__init__.py - Bot command
-hellonow accepts aliases - The discord.py exceptions
BadArgumentandMissingRequiredArgumentare now properly handled - Logging methods in
cogs.voice.YTDLLogHandlernow log withdepth=2for more accuracy - Renamed in
const:COLOR_INFO→EMBED_COLOR_INFOCOLOR_OK→EMBED_COLOR_OKCOLOR_WARN→EMBED_COLOR_WARNCOLOR_ERROR→EMBED_COLOR_ERROR
- A status message is now sent when retrieving info for a track before downloading begins (#30)
- Tool
todosnow accepts multiple directories to search - In
tools.todos:Todo.contentis now an attribute and not a methodTodo.headeris now a cached property and no longer accepted as a constructor argumentTodo.fileis now an optional attributefind_todos()now takes a variable positional argumentpathsinstead of the single
positional argumentsource_dir, stillstr | Path
- Moved function
config.env_to_bool()toutil.FromStr.to_bool() - Renamed classmethod
util.FromStr.filesize()toutil.FromStr.to_filesize() - Unexpected errors caught in
bot.on_command_errornow have their exception args sent along with
the bot's message instead of only saying to check the logs