v0.10.0
Pre-release
Pre-release
Overview
Breaking changes
- The debug console command
readhas been renamed toeval
- YouTube text search is now supported
- Configure how many results to choose from are shown with the
max_search_resultsconfig key
- Configure how many results to choose from are shown with the
- Config key
media_filter.allowed_urlsis nowmedia_filter.allowed_queries - Tracks can now be looped via the
-loopcommand - You can now have the bot prompt for confirmation when using
-removeby setting the
confirm_on_removeconfig key totrue
Added
- Added bot command
-loop(methodcogs.voice.VoiceCog.toggle_loop()) (#34) - Added debug bot command
-buttons - Added config key
confirm_on_remove(bool)- If
true, using-removewill prompt the user to confirm their choice
- If
- Added config key
max_search_results(#39) - Added
titlenamed group to markdown header regexes inconstconst.MD_HEADER_REGEXconst.MD_H1_REGEXconst.MD_H2_REGEXconst.MD_H3_REGEX
- Added tool module
tools.testdataytdl - Added enum member
const.EmojiStr.LOOP(#34) - Added enum member
const.EmojiStr.LOOP_ONE(#34) - Added attribute
cogs.voice.MediaItem.uploader - Added attribute
cogs.voice.VoiceCog.loop(#34) - Added class
cogs.util.DynamicButtonsView - Added constant
const.EMOJI_DIGITS - Added constant
const.HTTP_REGEX - Added constant
const.YTDL_SEARCH_PREFIX_REGEX(#39) - Added classmethod
const.EmojiStr.from_int() - Added parameter
confirm_callbackto methodcogs.voice.MediaItem.from_url()- Takes a function which receives the tuple of constructed
MediaItemobjects and must return
Truefor the method to return those objects, returning an empty tuple ifFalse
- Takes a function which receives the tuple of constructed
- Added method
cogs.voice.VoiceCog.loop_state_embed()(#34) - Added method
cogs.voice.VoiceCog._prompt_media_item_choice()(#39) - Added function
util.group_by() - Added function
util.nop()- "No-op"; takes any arguments and keyword arguments and does nothing
- Added function
util.nop_ret()- Returns a function with takes any arguments and keyword arguments and returns a specified value
util.nop_trueandutil.nop_falsealso added for convenience which returnTrueandFalse
respectively
- Added mock function
tests.conftest.mock_ytdl() - Added proper handling for
discord.ext.commands.errors.BadLiteralArgumentin
bot.on_command_error()
Changed
- Renamed config key
media_filter.allowed_queries - Renamed console command
debug readtodebug eval - Renamed attribute
config.MediaFilterConfig.allowed_urlsto.allowed_queries - Renamed method
console.LydianConsole.debug_read()to.debug_eval() - Renamed method
config.Config.filter_media_url()to.filter_query_url() - Renamed function
util.assure()toasserts() util.asserts()now raises the builtinAssertionErrorinstead of the now-removed custom
exceptionerrors.AssuranceError- Method
cogs.util.DropdownView.__init__()parameteroptionsnow acceptsIterableinstead of
justlist util.Cacheobjects can now be effectively disabled with theenabledattribute, which prevents
setting keys and retrieving keys from its data dictionary- Multiple methods in
MediaItemnow use.get(...) or ...instead of setting a default for
.get()in yt-dlp extracted info dictionary usage - Method
cogs.voice.VoiceCog.play()now takes a variable argumentquery_partsinstead ofurl
(#39)- This allows queries with spaces to be used as one whole string
- Attribute
cogs.voice.VoiceCog._play_callsnow requires a third item for its tuples: either
'url'or'search'(#39) - Method
cogs.voice.VoiceCog._try_to_queue()now takes an optionalchooseparameter (#39)- Prompts the user to choose one track to queue out of the extracted items
- Various messages that mention a URL in queueing now mention "query" since searching is supported
(#39)
Removed
- Removed class
tests.ReadOnlyDict - Removed exception
errors.AssuranceError - Removed exception
tests.ReadOnlyModifiedError - Removed function
tests._raise_for_readonly()
Fixed
- Fixed markdown header regexes matching more header symbols than intended, they now correctly match
only their respective header level - Fixed
check_for_stable_onlyconfig key not getting checked when checking updates at bot startup
(#42)