v0.7.0
Pre-release
Pre-release
Overview
Breaking changes:
- TOML configuration keys now use underscores (
_) instead of hyphens (-) - Config key
log_levelunderloggingis nowlevel
- [feature] A duration limit for media items can now be set using the
max-durationconfig key, which
specifies the limit in seconds using a positive integer (setting to 0 will disable the limit)max-duration-allow-unknownspecifies whether tracks with an unknown duration can be played
or not when a duration limit is in place, defaulting tofalse- If no limit is set, this key is unused and tracks of unknown duration are always allowed
- To save time on queueing, Lydian does not fetch a track's duration until it needs to, meaning
items queued from a playlist URL won't have their duration checked against the limit until
they are next in line
- [feature]
lydiancan now be run with the-Vor--versionoption to display the installed Lydian
version and exit without starting the bot - [feature] The "now playing" view now shows the approximate current timestamp of the playing media
(#13)- Slight network delays will likely cause this number to be slightly inaccurate, but it should
remain close enough for reference
- Slight network delays will likely cause this number to be slightly inaccurate, but it should
- [fix] Fixed filesize strings in the config with single digits raising an error due to a typo in the
regex used to match them
Added
- Added the
-V/--versionoption to thelydianpackage command- When used, Lydian's version is printed out and the script immediately exits
- Added config key
max-duration(integer) - Added config key
max-duration-allow-unknown(boolean) - Added class
config.Config.ConfigField - Added class
config.Config.ConfigFieldMeta - Added method
config.Config.set() - Added property
config.Config.fields - Added function
util.compose() - Added support for validator functions in
config.Configfields, which can be given with the
'validators'key of a given field'smetadataargument as a single function or iterable of
functions
Changed
- Having debug mode enabled no longer forces the log level to "DEBUG" level
cogs.voice.MediaItem.duration_strnow returns?:??for an unknown duration instead ofNonecogs.voice.MediaItem.embed()now accepts an optionaltimestampkeyword argument to show the
current time alongside its duration- TOML configuration keys are now in
snake_caseinstead ofkebab-case; though the latter is more
common in TOML, it's ultimately unnecessary to keep converting keys between the two cases where
needed const.LogLevelis now anIntEnumsubclass instead ofStrEnumconfig.Configupdating and loading from TOML is now handled in the class itself in a simpler
fashion than usingutil.DataclassUpdateMixin(#26)
Removed
- Removed mixin class
util.DataclassUpdateMixin- Only used for updating the configuration object, which now handles updating in its own class
Fixed
- Fixed single-digit filesize numbers in TOML config not matching pattern
- Queue no longer stops when encountering an error, will now skip problematic items until one can be
played or the queue is empty (#25)