Warning

This document is for Red's development version, which can be significantly different from previous releases. If you're a regular user, you should read the Red documentation for the current stable release.

Redbot 3.4.3 (2020-11-16)

Thanks to all these amazing people that contributed to this release:

Read before updating

  1. Information for Audio users that are using an external Lavalink instance (if you don’t know what that is, you should skip this point):

    Red 3.4.3 uses a new Lavalink jar that you will need to manually update from our GitHub.

End-user changelog

Core Bot

  • Added [p]set competing command that allows users to set the bot’s competing status (#4607, #4609)

Audio

  • Volume changes on ARM systems running a 64 bit OS will now work again (#4608)

  • Fixed only 100 results being returned on a Youtube playlist (#4608)

  • Fixed YouTube VOD duration being set to unknown (#3885, #4608)

  • Fixed some YouTube livestreams getting stuck (#4608)

  • Fixed internal Lavalink manager failing for Java with untypical version formats (#4608)

  • Improved AAC audio handling (#4608)

  • Added support for SoundCloud HLS streams (#4608)

Economy

  • The [p]leaderboard command no longer fails in DMs when a global bank is used (#4569)

Mod

  • The ban reason is now properly set in the audit log and modlog when using the [p]massban command (#4575)

  • The [p]userinfo command now shows the new Competing activity (#4610, #4611)

Modlog

  • The [p]case and [p]casesfor commands no longer fail when the bot doesn’t have Read Message History permission in the modlog channel (#4587, #4588)

Mutes

  • Fixed automatic remuting on member join for indefinite mutes (#4568)

Trivia

  • [p]triviaset custom upload now ensures that the filename is lowercase when uploading (#4594)

Developer changelog

  • modlog.get_case() and methods using it no longer raise when the bot doesn’t have Read Message History permission in the modlog channel (#4587, #4588)

Redbot 3.4.2 (2020-10-28)

Thanks to all these amazing people that contributed to this release:

Read before updating

  1. Information for Audio users that are using an external Lavalink instance (if you don’t know what that is, you should skip this point):

    Red 3.4.2 uses a new Lavalink jar that you will need to manually update from our GitHub.

End-user changelog

  • Core Bot - Added info about the metadata file to redbot --debuginfo (#4557)

  • Audio - Fixed the [p]local search command (#4553)

  • Audio - Fixed random “Something broke when playing the track.” errors for YouTube tracks (#4559)

  • Audio - Commands in [p]llset group can now be used in DMs (#4562)

  • Mod - Fixed [p]massban not working for banning members that are in the server (#4556, #4555)

  • Streams - Added error messages when exceeding the YouTube quota in the Streams cog (#4552)

  • Streams - Improved logging for unexpected errors in the Streams cog (#4552)

Documentation changes

Redbot 3.4.1 (2020-10-27)

Read before updating

  1. This release fixes a security issue in Mod cog. See Security changelog below for more information.

  2. This Red update bumps discord.py to version 1.5.1, which explicitly requests Discord intents. Red requires all Privileged Intents to be enabled. More information can be found at Enabling Privileged Intents.

  3. Mutes functionality has been moved from the Mod cog to a new separate cog (Mutes) featuring timed and role-based mutes. If you were using it (or want to start now), you can load the new cog with [p]load mutes. You can see the full Mutes changelog below.

  4. Information for Audio users that are using an external Lavalink instance (if you don’t know what that is, you should skip this point):

    We’ve updated our application.yml file and you should update your instance’s application.yml appropriately. Please ensure that the WS port in Audio’s settings ([p]llset wsport) is set to the port from the application.yml.

End-user changelog

Security

NOTE: If you can’t update immediately, we recommend globally disabling the affected command until you can.

  • Mod - Fixed unauthorized privilege escalation exploit in [p]massban (also called [p]hackban) command. Full security advisory can be found on our GitHub.

Core Bot

  • Fixed an incorrect error being reported on [p]set name when the passed name was longer than 32 characters (#4364, #4363)

  • Fixed [p]set nickname erroring when the passed name was longer than 32 characters (#4364, #4363)

  • Fixed an ungraceful error being raised when running [p]traceback with closed DMs (#4329)

  • Fixed errors that could arise from invalid URLs in [p]set avatar (#4437)

  • Fixed an error being raised with [p]set nickname when no nickname was provided (#4451)

  • Fixed and clarified errors being raised with [p]set username (#4463)

  • Fixed an ungraceful error being raised when the output of [p]unload is larger than 2k characters (#4469)

  • Fixed an ungraceful error being raised when running [p]choose with empty options (#4499)

  • Fixed an ungraceful error being raised when a bot left a guild while a menu was open (#3902)

  • Fixed info missing on the non-embed version of [p]debuginfo (#4524)

  • Added [p]set api list to list all currently set API services, without tokens (#4370)

  • Added [p]set api remove to remove API services, including tokens (#4370)

  • Added [p]helpset usetick, toggling command message being ticked when help is sent to DM (#4467, #4075)

  • Added a default color field to [p]set showsettings (#4498, #4497)

  • Added the datapath and metadata file to [p]debuginfo (#4524)

  • Added a list of disabled intents to [p]debuginfo (#4423)

  • Bumped discord.py dependency to version 1.5.1 (#4423)

  • Locales and regional formats can now be set in individual guilds using [p]set locale and [p]set regionalformat (#3896, #1970)

    • Global locale and regional format setters have been renamed to [p]set globallocale and [p]set globalregionalformat

Audio

  • Scattered grammar and typo fixes (#4446)

  • Fixed Bandcamp playback (#4504)

  • Fixed YouTube playlist playback (#4504)

  • Fixed YouTube searching issues (#4504)

  • Fixed YouTube age restricted track playback (#4504)

  • Fixed the Audio cog not being translated when setting locale (#4492, #4495)

  • Fixed tracks getting stuck at 0:00 after long player sessions (#4529)

  • Removed lavalink logs from being added to backup (#4453, #4452)

  • Removed stream durations from being in queue duration (#4513)

  • Added the Global Audio API, to cut down on Youtube 429 errors and allow Spotify playback past user’s quota. (#4446)

  • Added persistent queues, allowing for queues to be restored on a bot restart or cog reload (#4446)

  • Added [p]audioset restart, allowing for Lavalink connection to be restarted (#4446)

  • Added [p]audioset autodeafen, allowing for bot to auto-deafen itself when entering voice channel (#4446)

  • Added [p]audioset mycountrycode, allowing Spotify search locale per user (#4446)

  • Added [p]llsetup java, allowing for a custom Java executable path (#4446)

  • Added [p]llset info to show Lavalink settings (#4527)

  • Added [p]audioset logs to download Lavalink logs if the Lavalink server is set to internal (#4527)

Cleanup

  • Allowed [p]cleanup self to work in DMs for all users (#4481)

Custom Commands

  • Fixed an ungraceful error being thrown on [p]cc edit (#4325)

Dev

  • Added [p]repl pause to pause/resume the REPL session in the current channel (#4366)

Economy

  • Added an embed option for [p]leaderboard (#4184, #4104)

General

  • Fixed issues with text not being properly URL encoded (#4024)

  • Fixed an ungraceful error occurring when a title is longer than 256 characters in [p]urban (#4474)

  • Changed “boosters” to “boosts” in [p]serverinfo to clarify what the number represents (#4507)

Mod

  • Added [p]modset mentionspam strict allowing for duplicated mentions to count towards the mention spam cap (#4359)

  • Added an option to ban users not in the guild to [p]ban (#4422, #4419)

  • Added a default tempban duration for [p]tempban (#4473, #3992)

  • Fixed nicknames not being properly stored and logged (#4131)

  • Fixed plural typos in [p]userinfo (#4397, #4379)

  • Renamed [p]hackban to [p]massban, keeping [p]hackban as an alias, allowing for multiple users to be banned at once (#4422, #4419)

  • Moved mutes to a separate, individual cog (#3634)

Mutes

  • Added [p]muteset forcerole to make mutes role based, instead of permission based (#3634)

  • Added an optional time argument to all mutes, to specify when the user should be unmuted (#3634)

  • Changed [p]mute to only handle serverwide muting, [p]mute voice and [p]mute channel have been moved to separate commands called [p]mutechannel and [p]mutevoice (#3634)

  • Mute commands can now take multiple user arguments, to mute multiple users at a time (#3634)

Modlog

  • Fixed an error being raised when running [p]casesfor and [p]case (#4415)

  • Long reasons in Modlog are now properly shortened in message content (#4541)

Trivia Lists

  • Fixed incorrect order of Machamp and Machoke questions (#4424)

  • Added new MLB trivia list (#4455)

  • Added new Who’s That Pokémon - Gen. IV trivia list (#4434)

  • Added new Hockey trivia list (#4384)

Warnings

  • Fixed users being able to warn users above them in hierarchy (#4100)

  • Added bool arguments to toggle commands to improve consistency (#4409)

Developer changelog

Important:
1. Red now allows users to set locale per guild, which requires 3rd-party cogs to set contextual locale manually in code ran outside of command’s context. See the Core Bot changelog below for more information.

Core Bot

Bank

  • Bank API methods now consistently throw TypeError if a non-integer amount is supplied (#4376)

Mod

  • Deprecated redbot.core.utils.mod.is_allowed_by_hierarchy (#4435)

Modlog

Utility

Documentation changes

Config

  • Added custom group documentation and tutorial (#4416, #2896)

Modlog

  • Clarified that naive datetime objects will be treated as local times for parameters created_at and until in modlog.create_case() (#4389)

Other

  • Added guide to creating a Bot Application in Discord Developer Portal, with enabling intents (#4502)

Miscellaneous

  • Added JSON schema files for info.json files (#4375)

  • Added [all] and [dev] bundled install extras (#4443)

  • Replaced the link to the approved repository list on CogBoard and references to cogs.red with a link to new Red Index (#4439)

  • Improved documentation about arguments in command syntax (#4058)

  • Replaced a few instances of Red with the bot name in command docstrings (#4470)

  • Fixed grammar in places scattered throughout bot (#4500)

  • Properly define supported Python versions to be lower than 3.9 (#4538)

Redbot 3.4.0 (2020-08-17)

Thanks to all these amazing people that contributed to this release:

Read before updating:
1. Red 3.4 comes with support for data deletion requests. Bot owners should read Red and End User Data to ensure they know what information about their users is stored by the bot.
2. Debian Stretch, Fedora 30 and lower, and OpenSUSE Leap 15.0 and lower are no longer supported as they have already reached end of life.
3. There’s been a change in behavior of [p]tempban. Look at Mod changelog for full details.
4. There’s been a change in behavior of announcements in Admin cog. Look at Admin changelog for full details.
5. Red 3.4 comes with breaking changes for cog developers. Look at Developer changelog for full details.

End-user changelog

Core Bot

  • Added per-guild cog disabling (#4043, #3945)

    • Bot owners can set the default state for a cog using [p]command defaultdisablecog and [p]command defaultenablecog commands

    • Guild owners can enable/disable cogs for their guild using [p]command disablecog and [p]command enablecog commands

    • Cogs disabled in the guild can be listed with [p]command listdisabledcogs

  • Added support for data deletion requests; see Red and End User Data for more information (#4045)

  • Red now logs clearer error if it can’t find package to load in any cog path during bot startup (#4079)

  • [p]licenseinfo now has a 3 minute cooldown to prevent a single user from spamming channel by using it (#4110)

  • Added [p]helpset showsettings command (#4013, #4022)

  • Updated Red’s emoji usage to ensure consistent rendering accross different devices (#4106, #4105, #4127)

  • Whitelist and blacklist are now called allowlist and blocklist. Old names have been left as aliases (#4138)

Admin

  • [p]announce will now only send announcements to guilds that have explicitly configured text channel to send announcements to using [p]announceset channel command (#4088, #4089)

Downloader

  • [p]cog info command now shows end user data statement made by the cog creator (#4169)

  • [p]cog update command will now notify the user if cog’s end user data statement has changed since last update (#4169)

Mod

  • [p]tempban now respects default days setting ([p]modset defaultdays) (#3993)

  • Users can now set mention spam triggers which will warn or kick the user. See [p]modset mentionspam for more information (#3786, #4038)

  • [p]mute voice and [p]unmute voice now take action instantly if bot has Move Members permission (#4064)

  • Added typing to [p](un)mute guild to indicate that mute is being processed (#4066, #4172)

ModLog

  • Added timestamp to text version of [p]casesfor and [p]case commands (#4118, #4137)

Streams

  • Stream alerts will no longer make roles temporarily mentionable if bot has “Mention @everyone, @here, and All Roles” permission in the channel (#4182)

  • Mixer service has been closed and for that reason we’ve removed support for it from the cog (#4072)

  • Hitbox commands have been renamed to smashcast (#4161)

  • Improve error messages for invalid channel names/IDs (#4147, #4148)

Trivia Lists

  • Added whosthatpokemon2 trivia containing Pokémons from 2nd generation (#4102)

  • Added whosthatpokemon3 trivia containing Pokémons from 3rd generation (#4141)

Developer changelog

Important:
1. Red now offers cog disabling API, which should be respected by 3rd-party cogs in guild-related actions happening outside of command’s context. See the Core Bot changelog below for more information.
2. Red now provides data request API, which should be supported by all 3rd-party cogs. See the changelog entries in the Core Bot changelog below for more information.

Breaking changes

Core Bot

Vendored packages

  • Updated discord.ext.menus vendor (#4167)

Utility Functions

Documentation changes

  • Removed install instructions for Debian Stretch (#4099)

  • Added admin user guide (#3081)

  • Added alias user guide (#3084)

  • Added bank user guide (#4149)

Miscellaneous

  • Updated features list in [p]serverinfo with the latest changes from Discord (#4116)

  • Simple version of [p]serverinfo now shows info about more detailed [p]serverinfo 1 (#4121)

  • [p]set nickname, [p]set serverprefix, [p]streamalert, and [p]streamset commands now can be run by users with permissions related to the actions they’re making (#4109)

  • bordered() now uses + for corners if keyword argument ascii_border is set to True (#4097)

  • Fixed timestamp storage in few places in Red (#4017)