v3.1.0 Release Notes

Mongo Driver Migration

Due to the required changes of the Mongo driver for Config, all existing Mongo users will need to complete the below instructions to continue to use Mongo after updating to 3.1. This includes all users, regardless of any prior migration attempt to a development version of 3.1.

  1. Upgrade to 3.1
  2. Convert all existing Mongo instances to JSON using the new converters
  3. Start each bot instance while using JSON and load any and all cogs you have in order to successfully preserve data.
  4. Turn each instance off and convert back to Mongo. NOTE: No data is wiped from your Mongo database when converting to JSON. You may want to use a new database name when converting back to Mongo in order to not have duplicate data.

Setup Utility

New commands were introduced to simplify the conversion/editing/removal process both on our end and the users end. Please use redbot-setup --help to learn how to use the new features.

Hint

Converting to JSON: redbot-setup convert <instance_name> json

Converting to Mongo: redbot-setup convert <instance_name> mongo

v3.1.0 Changelog

Audio

  • Add Spotify support (#2328)
  • Play local folders via text command (#2457)
  • Change pause to a toggle (#2461)
  • Remove aliases (#2462)
  • Add track length restriction (#2465)
  • Seek command can now seek to position (#2470)
  • Add option for dc at queue end (#2472)
  • Emptydisconnect and status refactor (#2473)
  • Queue clean and queue clear addition (#2476)
  • Fix for audioset status (#2481)
  • Playlist download addition (#2482)
  • Add songs when search-queuing (#2513)
  • Match v2 behavior for channel change (#2521)
  • Bot will no longer complain about permissions when trying to connect to user-limited channel, if it has “Move Members” permission (#2525)
  • Fix issue on audiostats command when more than 20 servers to display (#2533)
  • Fix for prev command display (#2556)
  • Fix for localtrack playing (#2557)
  • Fix for playlist queue when not playing (#2586)
  • Track search and append fixes (#2591)
  • DJ role should ask for a role (#2606)

Core

  • Warn on usage of yaml.load (#2326)
  • New Event dispatch: on_message_without_command (#2338)
  • Improve output format of cooldown messages (#2412)
  • Delete cooldown messages when expired (#2469)
  • Fix local blacklist/whitelist management (#2531)
  • [p]set locale now only accepts actual locales (#2553)
  • [p]listlocales now displays en-US (#2553)
  • redbot --version will now give you current version of Red (#2567)
  • Redesign help and related formatter (#2628)
  • Default locale changed from en to en-US (#2642)
  • New command [p]datapath that prints the bot’s datapath (#2652)

Config

  • Updated Mongo driver to support large guilds (#2536)
  • Introduced init_custom method on Config objects (#2545)
  • We now record custom group primary key lengths in the core config object (#2550)
  • Migrated internal UUIDs to maintain cross platform consistency (#2604)

DataConverter

  • It’s dead jim (Removal) (#2554)

discord.py

  • No longer vendoring discord.py (#2587)
  • Upgraded discord.py dependency to version 1.0.1 (#2587)

Downloader

  • [p]cog install will now tell user that cog has to be loaded (#2523)
  • The message when libraries fail to install is now formatted (#2576)
  • Fixed bug, that caused Downloader to include submodules on cog list (#2590)
  • [p]cog uninstall allows to uninstall multiple cogs now (#2592)
  • [p]cog uninstall will now remove cog from installed cogs even if it can’t find the cog in install path anymore (#2595)
  • [p]cog install will not allow to install cogs which aren’t suitable for installed version of Red anymore (#2605)
  • Cog Developers now have to use min_bot_version in form of version string instead of bot_version in info.json and they can also use max_bot_version to specify maximum version of Red, more in Info.json format. (#2605)

Filter

  • Filter performs significantly better on large servers. (#2509)

Launcher

  • Fixed extras in the launcher (#2588)

Mod

  • Admins can now decide how many times message has to be repeated before deleterepeats removes it (#2437)
  • Fix: make [p]ban [days] optional as per the doc (#2602)
  • Added the command voicekick to kick members from a voice channel with optional mod case. (#2639)

Permissions

  • Removed: p alias for permissions command (#2467)

Setup Scripts

  • redbot-setup now uses the click CLI library (#2579)
  • redbot-setup convert now used to convert between libraries (#2579)
  • Backup support for Mongo is currently broken (#2579)

Streams

  • Add support for custom stream alert messages per guild (#2600)
  • Add ability to exclude rerun Twitch streams, and note rerun streams in embed status (#2620)

Tests

  • Test for trivia cog uses explicitly utf-8 encoding for checking yaml files (#2565)

Trivia

  • Fix of dead image link for Sao Tome and Principe in worldflags trivia (#2540)

Utility Functions

  • New: chat_formatting.humanize_timedelta (#2412)
  • Tunnel - Spelling correction of method name - changed files_from_attatch to files_from_attach (old name is left for backwards compatibility) (#2496)
  • Tunnel - fixed behavior of react_close(), now when tunnel closes message will be sent to other end (#2507)
  • chat_formatting.humanize_list - Improved error handling of empty lists (#2597)