* This starts setting up checks.py to handle managed permission overrides
* A decent starting point, more work to come
* missing else fix
* more work on this
* reduce redundant code
* More work on this...
* more progress
* add a debug flag to some things in .resolvers to help with exploring why checks behave in a certain way
* modify this to be a list for ease of showing full resolution order
* more
* don't bypass is_owner, ever
* remove old logic about ownercommands
* better handling of chec validity
* anonymous functions return None for __module__, remove some code as a result
* mutable default bind fix
* Add a caching layer (to be invalidated as needed)
Ensure checks in the chain inserted before the core logic only return None or False
(whitelists then blacklists are checked first in core logic, from most to least specific scope, overriding this with an allow does not make sense)
* more progress, slow work as I have time
* Modifies the predicates so that their inner functions are accesible from cogs without
being a check
* Update checks.py
Safety for existing permissions.py cogs
* This is where I take a change of course on setting this up,
because this would have been the most long winded interactive command ever as
it was starting to progress.
This is going to support individual entry updates, settings from yaml, gettings, and clearing existing settings
as well as printing a settings template out and referring people to what is going to be very well written docs
* block permissions cog from being unblocked by the permissions cog as a safety feature (really, co-owner exists at this point)
* WIP
* Okay, this has the intent of the changes, just to actually test these as working as intended + add corresponding guild functions
* oh nice, missed a couple files, sec...
* WIP, also, something's broken in resolvers or check_overrides >>
* This is working now (still needs docs and more...)
* unmerge changes from other PR
* is_owner still needs to exist in here due to management of non checked commands
* Update this to new style standards
* forgot to commit some local changes earlier
* fix update logic
* fix update logic
* b14 fix, lol
* fix issue with management command name
* this isnt a real fix
* Ok..
* perms
* This is working, but needs docs and more configuration opts now
* more
* Ux functions, need testing
* style
* fix using the obj str rather than the id
* fix CogOrCommand converter
* Return the correct things in the converter
* last fix, needs docs, and possibly some extra Ux utils
* start doc writing
* extra user facing commands
* yaml docs
* yaml fix
* secondary checks-fix
* 3rd party check stuff
* remove warning that this isn't ready yet
* swap ctx.tick for real responses, require emoji perms for interactive menuing, better attr handling for nicknames
* send file to author
* alias to `p`
* more ctx tick removal
(This is a long ass changelog...)
* [V3 Docs] drop ffmpeg from CentOS install guide
* [V3 Install Docs] move all to Python 3.6
* Update the toctree
* Needed a blank line
* drop a .6 that wasn't needed
* Update CONTRIBUTING.md with details on new dev workflow
* Fix typos
* Update link in README.rst
* tiny grammar fix
* Specify the line length
* Update CONTRIBUTING.md
* Fix links in contents
* Add section for keeping dependencies up-to-date
* Include notes about Makefile
* [V3 Audio] [p]llsetup fixes
[p]llset wsport changed to not use the rest port setting and both the rest and ws ports were changed to use ints instead of strings.
* [V3 Audio] Version change
* Update travis to not sip pipfile lock
update pipfile dependencies
additional black formatting pass to conform to black 18.5b
* .
* pin async timeout until further discussion of 3.5 support
* .
* Configure tox environments for install, dev install and docs build
* Configure Travis to run tox
* Use 3.5.1 since it's our minimum supported version
* Bump lower travis build version to 3.5.2
Turns out a dependency is incompatible with 3.5.1.
* Modify Travis config to install from pipenv
* Try without skipping the lock
* Try without pip cache
* D the dev install with pipenv
* See if adding the pip cache back in breaks
* Remove the development installation
It doesn't really make any sense considering we already should be installed in develop mode, as does Travis.
* Oops, tox should go under dev packages
* Do black --check with tox
* Uncache pip again...
* Try a build matrix, and try ignoring virtualenvs
* Activate pipenv shell on travis
* Try installing prereleases
* Try the build matrix like this
* Try exclusion
* Upgrade pip
* Try this environment marker
* Back to stages...
* Try run over shell
* Try skipping the lock again
* This'll be faster but probably ignore 3.5
Because Travis
* Just manually list sources for black to check
* Magic?
* What if I told you...
That this worked perfectly on Tobotimus/Red-DiscordBot@test_travis_matrix
* It couldn't possibly be this easy
* Let's add some comments to be nice
* Let's change back to trusty just in case the stages fuck up
* Add another comment because why not
* Let's try caching pip one more time
* We don't need to whitelist these
* Upgrade sphinx version to 1.7+
* Fix title overlines/underlines in autostart_systemd.rst
* Skip trying to document a method from discord.py
* Add escaped space after backtick
* Escape underscores (sphinx tries to interpret a hyperlink)
* Use fully qualified reference for class
* Fix reference in tunnel.py
* Remove python syntax highlighting in data_converter.py
For some reason sphinx couldn't lex these as python. Removing the highlighting seems like the logical solution for now, since if it wasn't being lexed, it wouldn't highlight anyway.
* Comment out static path since we're not using it right now
* Update sphinx version in docs requirements too
Would rather remove this duplication but RTD is a special snowflake
* This starts setting up checks.py to handle managed permission overrides
* missing else fix
* don't bypass is_owner, ever
* Modifies the predicates so that their inner functions are accesible from cogs without
being a check
* Update checks.py
Safety for existing permissions.py cogs
* block permissions cog from being unblocked by the permissions cog as a safety feature (really, co-owner exists at this point)
* un mix the 2 PRs (*sigh*)
* Update checks.py
remove debug prints that got lost inshuffle
* [V3 Audio] Update queue and search to use menus
* [V3 Audio] Fix for playlist upload saving
* [V3 Audio] Add position in queue to enqueued songs
Also a bit of cleanup.
* [V3 Audio] Improvements for mobile formatting
* This sets the default behavior for `get_messages_for_deletetion()` to not include pinned messages, while providing a way to override that
resolves#1589
* actually make commands parse for pinned deletion
* fix capitalization
* [V3 Streams] cache stream alert messages across restarts
* Add some stuff to debug this
* More debug stuff
* More debug stuff
* Actually save when updating a stream alert
* Remove debug stuff
Fixes#1620
* moves ping to core commands
defaults ping behavior to reacting with a ping pong paddle with ball
adds an optional boolean flag to ping to get the avg latency from the bot
(strikes a middle ground with intended behavior from dev standpoint, and how users want it)
* casing for @Kowlin
* use correct check for permissions
* remove latency
* Framework for internationalised command help
* Translator for class docstring of cog
* Remove references to old context module
* Use CogManagerUI as PoC
* Replace all references to RedContext
* Rename CogI18n object to avoid confusion
* Update docs
* Update i18n docs.
* Store translators in list instead of dict
* Change commands module to package, updated refs in cogs
* Updated docs and more references in cogs
* Resolve syntax error
* Update from merge