We're bringing some important news today regarding Red and data storage, with the upcoming changes to the Discord Developer ToS we're giving you new options to control your data (A big thanks to @mikeshardmind )
You may receive e-mails and notifications from Discord asking you to remove end user data from specific users who have data stored on your bot. Red v3.4 will make it the burden to remove any end user data from the bot a lot easier.
Starting from Red version 3.4 you will have access to the following features.
For Red end users:
You have the ability to see what type of information and end user data is stored with the command mydata whatdata.
You'll have the ability to export your data with the command mydata getmydata.
Note that this feature is still in active development and may not be fully supported initially.
You will gain access to a command to delete your own end user data from the bot with the command mydata forgetme.
For Red owners:
You as a bot owner will gain the ability to remove data on a per user basis via an command.
You will be shown what information a cog stores as its data (this isn't part of Red 3.4 but we plan to add support for it at a later release).
You will have the ability to remove all data associated with a cog (deferred).
You will be able to delete an end user and its data from the bot.
Downloader will warn you when an updated cog has changed its end user data that its storing.
Bot owner can see this field before installing cog (end_user_data_statement in info.json) as well as when the cog is loaded (__red_end_user_data_statement__ in the cog package).
Bot owner will be notified about the changes to that field during cog update.
Your cogs will have the ability to programmatically delete end user data by overwriting the function red_delete_data_for_user
d.py 1.4 introduces allowed_mentions kwarg to .send() methods that can be used to make the message mention roles or @everyone/@here.
The default value of the filter kwarg in Context.send() will be changed to None which means that enabling @everyone/@here mentions will now require using the aforementioned allowed_mentions kwarg instead.
This basically means that the cog package names cannot start with a number and they can only contain ascii numbers, letters, and underscores + they can't use a reserved python keyword as a name.
Hey everyone!
We're bringing some important news today regarding Red and data storage, with the upcoming changes to the Discord Developer ToS we're giving you new options to control your data (A big thanks to @mikeshardmind )
You may receive e-mails and notifications from Discord asking you to remove end user data from specific users who have data stored on your bot. Red v3.4 will make it the burden to remove any end user data from the bot a lot easier.
Starting from Red version 3.4 you will have access to the following features.
For Red end users:
mydata whatdata
.mydata getmydata
.mydata forgetme
.For Red owners:
You will have the ability to remove all data associated with a cog(deferred).For Red Cog developers:
end_user_data_statement
in yourinfo.json
(On the cog side) and new Red-specific dunder variable named__red_end_user_data_statement__
(put in the cog package) which allows you to explain what EUD you're storing. (https://github.com/Cog-Creators/Red-DiscordBot/pull/4045, https://github.com/Cog-Creators/Red-DiscordBot/pull/4169)end_user_data_statement
ininfo.json
) as well as when the cog is loaded (__red_end_user_data_statement__
in the cog package).red_delete_data_for_user
Important information with v3.4:
Upon updating and starting Red v3.4 all cogs will be unloaded.This is to ensure that the bot owner is aware of what data is stored on each cog.Breaking changes with v3.4:
red_
, and dunder names starting with red (ie. of the form__red_*__
) will be reserved. (https://github.com/Cog-Creators/Red-DiscordBot/pull/4085)allowed_mentions
kwarg to .send() methods that can be used to make the message mention roles or @everyone/@here.filter
kwarg inContext.send()
will be changed to None which means that enabling @everyone/@here mentions will now require using the aforementionedallowed_mentions
kwarg instead.redbot.core.utils.chat_formatting.humanize_list()
will accept empty sequences instead of raisingIndexError
for them. (https://github.com/Cog-Creators/Red-DiscordBot/pull/2982)Any comments on this are welcome on this issue, its associated PRs/issues, or over on our Discord server.