Skip to content

v0.10.0

Pre-release
Pre-release

Choose a tag to compare

@svioletg svioletg released this 28 Jul 20:52

v0.9.1...v0.10.0

Overview

Breaking changes

  • The debug console command read has been renamed to eval
  • YouTube text search is now supported
    • Configure how many results to choose from are shown with the max_search_results config key
  • Config key media_filter.allowed_urls is now media_filter.allowed_queries
  • Tracks can now be looped via the -loop command
  • You can now have the bot prompt for confirmation when using -remove by setting the
    confirm_on_remove config key to true

Added

  • Added bot command -loop (method cogs.voice.VoiceCog.toggle_loop()) (#34)
  • Added debug bot command -buttons
  • Added config key confirm_on_remove (bool)
    • If true, using -remove will prompt the user to confirm their choice
  • Added config key max_search_results (#39)
  • Added title named group to markdown header regexes in const
    • const.MD_HEADER_REGEX
    • const.MD_H1_REGEX
    • const.MD_H2_REGEX
    • const.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_callback to method cogs.voice.MediaItem.from_url()
    • Takes a function which receives the tuple of constructed MediaItem objects and must return
      True for the method to return those objects, returning an empty tuple if False
  • 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_true and util.nop_false also added for convenience which return True and False
      respectively
  • Added mock function tests.conftest.mock_ytdl()
  • Added proper handling for discord.ext.commands.errors.BadLiteralArgument in
    bot.on_command_error()

Changed

  • Renamed config key media_filter.allowed_queries
  • Renamed console command debug read to debug eval
  • Renamed attribute config.MediaFilterConfig.allowed_urls to .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() to asserts()
  • util.asserts() now raises the builtin AssertionError instead of the now-removed custom
    exception errors.AssuranceError
  • Method cogs.util.DropdownView.__init__() parameter options now accepts Iterable instead of
    just list
  • util.Cache objects can now be effectively disabled with the enabled attribute, which prevents
    setting keys and retrieving keys from its data dictionary
  • Multiple methods in MediaItem now 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 argument query_parts instead of url
    (#39)
    • This allows queries with spaces to be used as one whole string
  • Attribute cogs.voice.VoiceCog._play_calls now requires a third item for its tuples: either
    'url' or 'search' (#39)
  • Method cogs.voice.VoiceCog._try_to_queue() now takes an optional choose parameter (#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_only config key not getting checked when checking updates at bot startup
    (#42)