[Core] Data Deletion And Disclosure APIs
- Adds a Data Deletion API
- Deletion comes in a few forms based on who is requesting
- Deletion must be handled by 3rd party
- Adds a Data Collection Disclosure Command
- Provides a dynamically generated statement from 3rd party
extensions
- Modifies the always available commands to be cog compatible
- Also prevents them from being unloaded accidentally
* create cog disbale base
* Because defaults...
* lol
* announcer needs to respect this
* defaultdict mishap
* Allow None as guild
- Mostly for interop with with ctx.guild
* a whitespace issue
* Apparently, I broke this too
* Apply suggestions from code review
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* This can probably be more optimized later, but since this is a cached value, it's not a large issue
* Report tunnel closing
* mod too
* whitespace issue
* Fix Artifact of prior method naming
* these 3 places should have the check if i understood it correctly
* Announce the closed tunnels
* tunnel oversight
* Make the player stop at next track
* added where draper said to put it
* Apply suggestions from code review
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Removes `MAX_BALANCE` from bank, user `bank.get_max_balance()` now
`[p]bankset maxbal` can be used to set the maximum bank balance
Signed-off-by: Guy <guyreis96@gmail.com>
* Initial Commit
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* I need to make sure I keep aika on her toes.
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* Fixes a few missing kwargs and case consistency
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* Fixes a few missing kwargs and case consistency v2 and typos
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* Reset cooldowns + add changelogs
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* Add 3 extra file formats.
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* IRDUMB - fix capitalization.
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* Fix a silent error, and some incorrect messages.
Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>
* Remove unnecessary emojis from queue when they are not needed
Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>
* Remove duplicated call in `[p]playlist update`
Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>
* Remove duplicated call in `[p]playlist update`
Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com>
* Resolve conflicts
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* Bring all files up to date + Black
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* Facepalm
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* *Sigh*
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* *Sigh* 2.0
Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com>
* Merge branch 'V3/develop' of https://github.com/Cog-Creators/Red-DiscordBot into audio-misc-pt1
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
# Resolve Conflicts:
# redbot/cogs/audio/audio.py
# redbot/cogs/audio/utils.py
* Import missing Typecheck
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Fix Broken docstrings
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Sort Local Tracks
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* 🤦
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Reorder the sorting of local tracks,
`alphanumerical lower then alphanumerical upper`
`a comes before A, but B comes after A`
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Black formatting
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Make the local file sorting case insensitive
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Add global blacklist/whitelist + fix some issues with original server based whitelist/blacklist
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Remove the pre-commit yaml
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Nottin to see
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Further improvement to the blacklists
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Further improvement to the blacklists
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Fix the __str__ method on LocalTracks Object
* Rename LocalTracks.to_string_hidden() to LocalTracks.to_string_user() To keep it inline with the Query object
* Remove encoding pragmas + a few typo fixes
* Update some typehints + fix some typos
* Remove this duplicate call
* Black
* fix capitalization
* Address preda's review
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Remove the API from the audio cog
- Is in direct conflict with goals stated in #2804
- Features this was intended to enable can be enabled in other more
appropriate ways later on
* changelog
* Address Aika's review
* Black
* *sigh* dont use github web ui
* Fuck windows Long live linux... *sigh* no lets ensure windows users can still use local tracks
* Merge branch 'V3/develop' of https://github.com/Cog-Creators/Red-DiscordBot into refactoring
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
# Conflicts:
# redbot/cogs/audio/audio.py
* 👀 + chore
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* facepalm
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* facepalm... again y u h8 me bruh
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* fuk this fuk u tube fuck python fuck all
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* awyehfqwajefhnqeffawefqa eqewarfqaesf qwef qaf qwfr
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* fuck everything
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* oh lord saviour resus i love you just make this work
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Change logic to be no errors within last 10 seconds... this should be a valid work around discord ratelimits caused by the spam
* Remove auto deletion
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* See I did a ting
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* irdumb
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* black
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Add an is_url attribute to Query objects
* chore
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Black
* Address Aikas review
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Hyperlink Playlist names
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Make shit bold
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* why was this here
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* why was this here
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Initial commit
* Workinnng
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Improve SQL Statements + migrate from SQL Alchemy + Databases to APSW
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* apsw tested and working
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* chose
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Migrate Playlist to DB 3 TODO
1 Migrate Config to Schema 3 without playlists
and update get_playlist methods
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Revert "Migrate Playlist to DB 3 TODO 1 Migrate Config to Schema 3 without playlists and update get_playlist methods"
This reverts commit 4af33cff
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Implement schema migration
* Lets not touch the deps since #3192 is already adding them
* chore
* *sigh* Black
* Follow the existing logic and always default Playlist to guild scope
* wghqjegqf black
* Update usage of last_fetched and last_updated to be Ints... However column migration still pending
* Some bug fixes
* Update usage of last_fetched and last_updated to be Ints... However column migration still pending
* working
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* partial match
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* better partial match
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* black
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* I thought i done this before
* Delete 3195.misc.1.rst
Wrong PR
* Thanks Sinbad
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Thanks Sinbad
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Log Errors in init ...
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Update error logs.
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Create index
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* :Drapersweat:
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Chore
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Revert "Chore"
This reverts commit edcc9a9f
UGHHHH
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Allow removing tracks from queue by URL
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Words matter
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh*
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* chore
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* arghhh CONFLICTS
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Review sinbads latest comment ..
ToDo.. Nuke existing playlist - check version and set version
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* migrate the DB schema to v3 (to keep in line with the schema visioning of Config
* Add a Todo
* *sigh* conflicts and black
* *sigh* black
* Passively delete playlist deletion mechanism
* Delete Old entries on startup
* Since we are dropping the table mightaware make these into JSON for future proofing
* Don't Dump strings in JSON field ? :think:
* Move some things around to make easier to use 1 connection to the Audio DB
* Move some things around to make easier to use 1 connection to the Audio DB
* *sigh*
* Clean up api
* *sigh* black
* Red + reorder some variables
* 🤦
* how could i forget this .......
* Black
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Black
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Black
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* #automagically
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* FINAFUCKINGLY
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* FINAFUCKINGLY
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Remove unused config default
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Remove the API from the audio Cog (Properly)
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Missed these changes
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* ARGHHH
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Some fixes I've noticed while running through the code line by line
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Translation + UX (show playlist author ID if can't find user)
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh* missed this one
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* this is no longer needed ....
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* 🤦
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* fix new lines in error messages
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Black
* Sinbads Review
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Sinbads Review
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh* copy paste
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* imrpove backups
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Im a fucking idiot
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Fix#3238
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* chore
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* humans
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* humans
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* add play alias to playlists
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Im dumb ...
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Im dumb ...
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* fix new line
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* fix new line
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* show playlist count on playlist picker
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* DJ/Vote system fixes
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* DJ/Vote system fixes
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh* fix currency check
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* show playlist count on playlist picker
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* DJ/Vote system fixes
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* DJ/Vote system fixes
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh* fix currency check
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Fix duplicate messages on timeout
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* fix SQL Statement logic
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* fix SQL Statement logic
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Markdown escape
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Markdown escape
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Markdown escape fix
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Markdown escape fix
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* clean up local cache more frequently
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* clean up db more frequently
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Await in hell
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh* im dumb
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh* im dumb
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Black cuz I hate red
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Black cuz I hate red
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* StringIO to ByteIO
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* StringIO to ByteIO
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh* im dumb
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* :Facepalm: the whole purpose of this is so its offline so this can be backed up without being blocking
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Run write queries on ThreadPoolExecutor
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Backup Audio.db
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh* im dumb
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* blaaaack
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* *sigh*
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* formatting
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* remove duplicated string of code
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* ffs awaits
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
Co-authored-by: Michael H <michael@michaelhall.tech>
* Use stable instead of dev version
* changelog entry
* Rename 3020.docs.rst to 3021.docs.rst
* update wording in Getting Started
* add note about package layout
* fix some formatting
* spellcheck
* add cookiecutter note
* Update 3021.docs.rst
This is in anticipation of #2246, although I've written that PR to not break on 3.6, the feature itself is not usable on 3.6. So I think the best way forward is to simply require python 3.7. This also allows devs and cog creators to utilise all of the new features in 3.7, and it also updates the docs so all operating systems will have 3.7 installed.
Signed-off-by: Toby <tobyharradine@gmail.com>
* Set 3.6.6 as minimum python version on Windows
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* Conditional python_requires in setup.py
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* Should probably add the comment too
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* Correct minimum version
see #2092
While this is needed because of an import just for typing, I see no reason not to bump the minimum version since this is a minor version difference since this is several minor version behind the latest 3.6, and there have been both security and performance improvements since.
That said, we need to be testing on our lowest supported version to ensure we don't have this happen again, right now our tests run on whatever Travis grabs for 3.6, which I assume is 3.6.6, but could be wrong.
* Update other mentions of min version to 3.6.2