* add commands, cog converter
* properly use type_checking
* make core commands use command converter
* update commands to use cogconverter
* fix undefined variable name, style
* Update redbot/core/commands/converter.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/commands/converter.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/core_commands.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/core_commands.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/core_commands.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/core_commands.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/core_commands.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* update cog argument names
* update documentation arg names
* update more docs
* This new Sphinx is annoying about this...
* I'm questioning my skills
* Fix name error in `[p]embedset showsettings` when command is not given
* Do not use the new cog converter in `[p]command enablecog`
This is needed so that a cog that isn't loaded but was disabled
can be enabled back.
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Update deps + allow Python 3.9
* Add in updates from Jack's branch
* Fix multiple target for cross-reference warnings
* Update a few more Python 3.8 occurrences
* Bump further
* Don't install tox in CodeQL environment
* Bump Python version in docs to 3.9.7
* more bumps
* Add missing pin
* Stop using the deprecated distro.linux_distribution()
* Suppress deprecation warning
* Fix OpenSUSE Leap instructions
* Drop Fedora 32
* Add Python 3.10-dev to CI
* meh
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* [Core] Blacklist api
* [Core] Use to_add, remove star from other method calls
* various touch ups
* style
* fix doc style
* [Core] Remove iterable import
* [Core] Update commands to use the blacklist/whitelist api
* Change signatures to not use `*args`
* Update all usage of private cache to the new public APIs
* Update the docstrings
* Update the usage in diagnoser
Co-authored-by: Kreusada <67752638+Kreusada@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Split `Requires._transition_state` into reusable methods for Diagnoser
* (style) Fix line length
* Add missing .format()
* Add handling for user permissions, privilege level, Permissions rules
* Add missing awaits, use correct method in user perms check, add 'the'
* Fix .format() fields
* Add comment
* Add new file to labeler's configuration
* Add the command to the documentation
* All the work from DiagnoserCog
You can find the commit history of it here:
https://github.com/jack1142/DiagnoserCog
* Fix circular import
* Make channel argument optional
* Add a tip about channels from different servers
* Oh my gosh Kowlin is finishing work!?
* fix style
* use f-strings
* moar f-strings actually
* Fix style...
* I did a poor job of find-replacing things
* Improve code readability per previous Kowlin's style
* And reformat it in such a way that get jack through the day
* Okay maybe some whitespace
* Update core_commands.py
* Update core_commands.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Core guide initial commit
* Mydata docstrings
* Regenerated docs
* Lots more docstrings
* Add document link
* Up to load docstrings
* Black formatting
* docstring semantics
* "cog packages" for loads
* Refix line lengths
* Regenerate docs
* Remove link
* Regenerate docs with new code
* Some small docstrings
* Regenerate docs with new .. warning code
* More docstrings into the `set` command
* Bullet lists need blank lines.
* Regenerate docs
* Regenerate docs (fix bullet lists)
* set activity statuses docstrings
* Docstrings up to helpset pagecharlimit
* Regenerate docs
* Core guide initial commit
* Mydata docstrings
* Regenerated docs
* Lots more docstrings
* Add document link
* Up to load docstrings
* Black formatting
* docstring semantics
* "cog packages" for loads
* Refix line lengths
* Regenerate docs
* Remove link
* Regenerate docs with new code
* Some small docstrings
* Regenerate docs with new .. warning code
* More docstrings into the `set` command
* Bullet lists need blank lines.
* Regenerate docs
* Regenerate docs (fix bullet lists)
* set activity statuses docstrings
* Docstrings up to helpset pagecharlimit
* Regenerate docs
* Maxpages and delete delay docstrings
* spagetthi ctrl+v
* tagline and contact
* A little more contact
* Up to allowlist
* Up to command defaultdisablecog
* Regenerate docs
* Redo custominfo to not be terrible
* Up to default enabled cog
* More docs
* Up to command disabledmsg
* Disabled message stuff was missed
* Finish the rest of the docstrings
* Regenerate docs
* Longer description of the cog
* Regenerate Docs
* Fix some of the suggestions
* Apply additional suggests and some small rewording.
* Regenerate docs.
* Apply suggestions and make additional fixes
* Regenerate docs
* Clarifies it's only loaded.
* Regenerate docs.
* New formatting, more examples, some fixes
* Regenerate docs
* Adds consistant use of dashes to arguments
* More consistant punctuation
* Regenerate docs
* Add labeler detection
* Fix example and use clearing language for helpset verifyexists docstring
* Regenerate docs
* Add leave example and arguments
* Regenerate docs
* Regenerate docs
* Make embedset more readable
(933aefd3ee9371b3b669cbdd2ac05f6b5532e4bb was the sphinx compatible update)
* Regenerate docs
* Black formatting
* Regenerate docs
* Adds docstring examples and arguments for multiple `embedset` subcommands
* Regenerate docs
* [Core] Use menus for [p]servers, improve [p]leave
* Apply suggestions from code review
Co-authored-by: Samuel <50765275+npc203@users.noreply.github.com>
* Few more changes
* Add empty line...
* style
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Samuel <50765275+npc203@users.noreply.github.com>
* Bump discord.py, but to the git version for now
* Import GuildConverter from d.py and deprecate our implementation
* Import PartialMessageConverter in our commands extension
* Use newly added `Cog.has_error_handler()` rather than private method
* Update snowflake regex to use 20 as max length
See Rapptz/discord.py#6501
* Use new supported way for custom cooldown buckets
* Include group args in command signature
* Update code to use `Client.close()` over `Client.logout()`
* Add StageChannelConverter and StoreChannelConverter
* Fix AttributeError in licenseinfo
* Add per-command embed settings
* Update `[p]embedset showsettings`
* Use command.qualified_name in `[p]embedset` commands
* Fix the call to subcommand and simplify it
* And I oversimplified this
* Update end user messages to use 'guild' rather than 'server'
* meh
* This should be a named field
* Add check for Embed Links perm to confuse users a bit less
* Wrap this string in _()
* Let's use a different exception then...
* Let's clear the setting when we can in whole `[p]embedset`
* Add the order of checking to help of `[p]embedset`
* Add note about full evaluation order to subcommands
* start
* Get user inside blocklist/allowlist lists
* Changes to cover unknown or deleted users
* Use square brackets for clarity
* Implement the above commit for all four versions
* Much improved UI, removed `[]` to fit new format
* updates to support roles in local version
* add /role to unknown str
* Improve variable names
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Clarify that the owner is a team.
* This should do.
* Style check... for a comma, in your dreams Tox...
* Annndddd for the insane people who don't use embeds
* [Core] Fix commands using plural with the same user
Some plural checking have also been added to the local blocklist/allowlist and the wording has been revised.
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* BLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACK
* the
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Add non-generic message when loading a cog with command name that is already registered
* Use regex instead and add i18n support
* This requires d.py 1.4
* Update help.py
* Create 3040.enhance.rst
* remove towncrier entry
* Make it i18n friendly.
* That was uneeded to change this actually.
* ...
* ..
* .
* Add a setting for aliases.
* DOTS
* Update redbot/core/core_commands.py
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Address requested changes maybe
* New format + changes requested.
* okay we'll get there someday
* honk
* aaaaaaaaaaaaaaa
* Black
* Fix missing humanize_timedelta import.
* style
* Two things from my very old pending review, see commit desc
```py
valid_alias_list = [
af
for a in aliases
if (af := f"{a}")
and len(af) < 500
and ((a_counter + len(af)) < 500)
and (a_counter := a_counter + len(af))
]
```
^ This can be simplified:
```suggestion
valid_alias_list = [
alias
for alias in aliases
if (a_counter := a_counter + len(alias)) < 500
]
```
Although I think it would be somewhat clearer to use a `for` loop rather than a list comprehension (+ we can just `break` when there's not gonna be another alias that could fit in the list since it's sorted):
```suggestion
valid_alias_list = []
for alias in aliases:
if (a_counter := a_counter + len(alias)) < 500:
valid_alias_list.append(alias)
else:
break
```
* style *again*
* use qualified name of the parent command
* meh
* another meh
* Revert the last commit...
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Drapersniper <27962761+drapersniper@users.noreply.github.com>
* Make command usage in help for required arguments consistent
* Bob 3
* Bob 1
* Docstring updates
* Address Flame's review
* Update cog guides in docs
* Add default color to [p]set showsettings
* I didn't want to since I thought it would be too long, but sure
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* handle verified bots, and more specific errors
* stuff
* fuck, I forgot
* Improve errors by splitting into few different messages
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* [Core] Pagify cog unload output properly
When you unload a large amount of cogs (close to message limit on characters), the character count is easily pushed over 2k characters on the command response with the cog names each being wrapped in 2x backticks. The current implementation breaks in the middle of cog names or wherever else it feels like it. 1600 might have been a safe value for splitting but at 1500 I don't see how multiple short cog names could make it break at least.
* Address review