* 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>
* lets reduce config calls here
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Lets normalize how we name config attributes across the bot.
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* ....
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Just a tiny PR improving config call in a lot of places (Specially events and Help)
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* stop using `bot.guilds` in `on_command_add`
* Just a tiny PR improving config call in a lot of places (Specially events and Help)
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* missed this one
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* nothing to see here
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* lets reduce config calls here
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Just a tiny PR improving config call in a lot of places (Specially events and Help)
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* stop using `bot.guilds` in `on_command_add`
* missed this one
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* welp
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* welp
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* welp
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* jack
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Update redbot/cogs/mod/kickban.py
Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/cogs/filter/filter.py
Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com>
* jack
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* make all large loops async to avoid blocking larger bots
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* ...
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* okay now working AsyncGen
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* may or may not have forgotten black
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Apply suggestions from code review
Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com>
* jack's review
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* DOCS
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* DOCS
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Apply suggestions from code review
Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com>
* jack
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Apply suggestions from code review
Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/utils/__init__.py
Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/utils/__init__.py
Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com>
* avoid loop if possible and if not only iterate once
Signed-off-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Adds Schema versioning
- Adds Migration tool
- Adds tool to migrate to allow multiple admin and mod roles
- Supports Multiple mod and admin roles
* Ensures migration is run prior to cog load and connection to discord
* Updates to not rely on singular mod/admin role id
* Update requires logic for multiple mod/admin roles
* Add new commands for managing mod/admin roles
* Feedback
Update strings
Update docstrings
Add aliases
* Use snowflakelist
* paginate
* Change variable name
* Fix mistake
* handle settings view fix
* Fix name error
* I'm bad at Ux
* style fix
* Dependency update
discord.py==1.0.1
websockets<7
[style]
black==19.3b0
[Docs]
jinja==2.10.1
urllib3==1.24.2
Changes related to breaking changes from discord.py have also been made
to match
As of this commit, help formatter is back to discord.py's default
* Require custom group initialization before usage and write that data to disk
* Style
* add tests
* remove custom info update method from drivers
* clean up remnant
* Turn config objects into a singleton to deal with custom group identifiers
* Fix dumbassery
* Stupid stupid stupid
Also fixed a misspelled kwarg in reports.
Also now raising TypeError for an empty `@checks.has_permissions()` decorator.
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* Uses classmethods to create predicates
* Classmethods allow using a combination of different parameters to describe context
* Some predicates assign a captured `result` to the predicate object on success
* Added `ReactionPredicate` equivalent to `MessagePredicate`
* Added `utils.menus.start_adding_reactions`, a non-blocking method for adding reactions asynchronously
* Added documentation
* Uses these new utils throughout the core bot
Happened to also find some bugs in places, and places where we were waiting for events without catching `asyncio.TimeoutError`
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
API changes:
- Cogs must now inherit from `commands.Cog` (see #2151 for discussion and more details)
- All functions which are not decorators in the `redbot.core.checks` module are now deprecated in favour of their counterparts in `redbot.core.utils.mod`. This is to make this module more consistent and end the confusing naming convention.
- `redbot.core.checks.check_overrides` function is now gone, overrideable checks can now be created with the `@commands.permissions_check` decorator
- Command, Group, Cog and Context have some new attributes and methods, but they are for internal use so shouldn't concern cog creators (unless they're making a permissions cog!).
- `__permissions_check_before` and `__permissions_check_after` have been replaced: A cog method named `__permissions_hook` will be evaluated as permissions hooks in the same way `__permissions_check_before` previously was. Permissions hooks can also be added/removed/verified through the new `*_permissions_hook()` methods on the bot object, and they will be verified even when permissions is unloaded.
- New utility method `redbot.core.utils.chat_formatting.humanize_list`
- New dependency [`schema`](https://github.com/keleshev/schema)
User-facing changes:
- When a `@bot_has_permissions` check fails, the bot will respond saying what permissions were actually missing.
- All YAML-related `[p]permissions` subcommands now reside under the `[p]permissions acl` sub-group (tbh I still think the whole cog has too many top-level commands)
- The YAML schema for these commands has been changed
- A rule cannot be set as allow and deny at the same time (previously this would just default to allow)
Documentation:
- New documentation for `redbot.core.commands.requires` and `redbot.core.checks` modules
- Renewed documentation for the permissions cog
- `sphinx.ext.doctest` is now enabled
Note: standard discord.py checks will still behave exactly the same way, in fact they are checked before `Requires` is looked at, so they are not overrideable.
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* [v3 Reports] Rewording Responses/Docstrings
* Add the old name for [p]reportset toggle as alias
Also made some lines a bit shorter
* A few more
* Fix typo
* Clarity in [p]report docstring
* This fixes the issue on report's side
* This prevents delete_delay from causing future issues where message objects are needed
* black format pass
* use the tools we have to clean this logic up a lot
* Cleanup quotes in cogs
* More quote cleanup that I missed
fixed a little bit of grammar here and there as well.
* [V3 Warnings] Change allowcustomreasons docstring
To help not confuse users who would believe that the command would use allow or disallow.
* Run black reformat
* 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
* Okay, let's fix the issues here hopefully.
* This is working now
* Unfinished, and needs a lot of testing.
* more work
* working
* minor thing to remove
* improve i18n and usage feedback