* [Core] Add `--unload-cogs` cli.
* Fixed error + Reformat.
* At @Jack1142's request, the `packages` local variable is no longer a list, but a dictionary with `None` values, to avoid duplication.
* Update redbot/core/bot.py
Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
* Update redbot/core/bot.py
Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
* Update bot.py
* Update bot.py
Co-authored-by: Jakub Kuczys <6032823+jack1142@users.noreply.github.com>
* Use Rich's default console object instead of making one
* Bump Rich to version 9.8.2
* Disable indent guides in tracebacks
* Skip empty lines between stack levels in traceback rendering
* Use full width of the terminal when printing tracebacks
* Disabling syntax highlighting on the log messages
* Make logger name bold
* Make logger level bold
* Make URLs in console bold
* Change `bright_blue` and `blue` colors in syntax theme (NEEDS CHANGING)
* Show only one line per stack level in tracebacks
* Shuffle things in `redbot.logging` a bit
* Change logging handler while redirecting stdout in Dev cog
* Revert last two commits...
This reverts commit cf563bd06a6ae398da12713ceef3db9cc903d902.
This reverts commit 6dddf300726ddf89b8924441eed59b67b58faca0.
* Change Rich console to always print to sys.stdout (therefore ignoring stdout redirects)
* Pass cli_flags to init_logging()
* Add a flag to set the amount of extra lines in rich tracebacks
* First take on the syntax theme colors
* Use the Windows trick
* ARE YOU SERIOUS!?
* Remove dead code
* Use Monokai when Terminal application supports truecolor
* Syntax theme update
* Change logger name color
* This is not needed
* Adjust logging level colors
* Add a flag for showing local variables in Rich tracebacks
* change imports a bit
* Remove usage of blue color fully
* Stop highlighting in Red-DiscordBot splash
* Fix unreadable paths in tracebacks
* Make CRITICAL logging level more readable
* Make time in logs more readable
* Fix the first row being bolded in tables
* Update rich to 9.9.0
* Pop stash
* add rich to setup
* Added forceful enabling of rich logging
* revert some unintended pushed
* Fix possible unbound var
Fix possible 0 members w/out members intent
* One day I won't forget to do style passes
* So this is a thing apperently...
* Bump rich to 9.5.1
* Lock secondary deps
* Different stuff, see the full commit description for more info
- Change few things from print to log.info
- put the log handlers on the root logger instead of individual loggers
- capture warnings to a logger
* Modify log handler to show logger name
* Add a Triboolian to force disable rich
* Style checks
* shortened time, added logger name... again.
* aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
* Style & linking
* Be or not to be? Whatever man, it's 4:30 in the morning, goto sleep >.<
* Reintroduce outdated message.
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Add an arg in cli to change message cache size
* Add an arg in cli to change message cache size
* Changelog
* Actually pass None in message_cache_size
* Update cli.py
* Add a cli arg to disable message cache.
* Add a cli arg to disable message cache.
* well go away you useless
* you actually are an int
* Check if message cache is higher than 0 when set it.
* Use sys.maxsize as max cache size.
* Update cli.py
* Add bot.max_messages property.
* typos
* 🤦
* style
* feat: allow to edit prefixes through `redbot --edit`
* enhance: allow to setup multiple prefixes
* fix: gotta break out of the loop
* fix: gotta sort prefixes in reversed order
* fix: editing prefix shouldn't save it as token
* fix: sort prefixes when using flag too
* chore(changelog): add towncrier entry
* docs: update help for `--edit` flag
* update for d.py 1.3
* Update redbot/core/commands/commands.py
Co-Authored-By: Danny <Rapptz@users.noreply.github.com>
* a few more places we use owner info
* add the cli flag + handling
* set fix
* Handle MaxConcurrencyReached.
* Bump `aiohttp-json-rpc`
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
Co-authored-by: Kowlin <Kowlin@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
* Cache prefixes
- This works towards #3148
- Ends up centralizing some logic
- Including that prefixes should be a reverse sorted list
* handle global prefix attempts at none
* fix prefix set for server
* cache using guild id
* do better with loop cleanup
* changelog
* remove redundant line
* Do this a bit better than the initial pass
* Improve windows support
Make some other things coroutines to work with improved design
* Wish we'd have done this right from the start...
* Update deps surrounding this
- see bpo-23057
- neccessary for windows users
- nice for consistent support channel info / feature availability
* dep issue
* Fix tests
* duplication plugin py version
* actually handle this
* Reconfigure some checks with codeclimate, disable pylint for now
* style
* Is my exasperation showing yet?
* handle some stupid stuff
* meh
* dep changelog
* More privatization, and some error helpers
This makes a lot more things private. Continued from #2967, fixes#2984
Adds public methods for various things.
Below is a brief summary of things available elsewhere, though this
particular set of changes may warrant a detailed section in the release notes.
- bot.db.locale -> redbot.core.i18n.get_locale
- Note: This one already existed.
- bot.db.help -> redbot.core.commands.help.HelpSettings
- bot db whitelist/blaclist? -> bot.allowed_by_whitelist_blacklist
- This has also been made a single cannonical function for this
purpose including check usage
- bot color? -> bot.get_embed_color/bot.get_embed_colour
- bot.id.api_tokens? ->
- bot.get_shared_api_tokens
- bot.set_shared_api_tokens
- bot.remove_shared_api_tokens
-bot.db.prefix -> bot.get_valid_prefixes
- (Note: This is a wrapper around bot.get_prefix)
Other changes include
- removing `bot.counter` as it was never used anywhere
- Adding properties with helpful error messages for moved and renamed
things
- making bot.uptime a property with an error on set
- adding a migration to the bot config for shared_api_tokens
* Remove overly encompassing message redaction, eval is a risk, dont run in dev if you cant manage it
* address Flame's feedback
* rephrase example
* changelog extras
* You saw nothing
* Logging enhancements and cleanup
- Removed debug log messages every time `Config.get_conf` is used or a JSON file is read/saved. The basic configuration is now logged once with DEBUG when the bot starts up instead.
- Changed logging output format to reverse date order, include seconds, and use the logger's name instead of the module, function and line number.
- Log files are now kept in the `DATAPATH/core/logs` directory. Each time Red is restarted, a new log is created, and the old ones renamed in a rotating fashion. There can be a maximum of 9 logs in total.
- Each log file now has a smaller max size of 500KB before it will be split into multiple parts. There are also a maximum of 9 parts of each log.
- Discord.py logger now uses the same output formatter as red's loggers
- Moved logging setup code into `redbot.logging` module.
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* Reformat
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* Implement discussed changes
- We maintain a red.log over multiple runtimes, alongside a latest.log and previous.log for individual runtimes.
- Naming convention changed a bit. E.g. when latest.log is just one part, it will be named latest.log. When it becomes two parts, they will both be named latest-part1.log and latest-part2.log.
- Rotation direction is reversed. This means as the files end up being named in chronological order.
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* Ability to run Red with token without instance
* --no-instance flag
* Reformatted cli with black
* Fix changes requested by @Tobotimus
- Use "system reboot" to be clearer
- save_default_config renamed to create_temp_config
- More documentation for the create_temp_config function
* Update create_temp_config call
* Fix up imports
* 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
* [V3 Parser] Added --load-cogs flag
* Removed old PR data
* Removed old PR data
* Removed old PR data
* Slightly reword help for flag
* Stick to convention for checking if sequence is empty
* Fix some logic errors
* Don't print packages which failed to load
* Add basic RPC functionality
* Add load/unload/reload rpc commands
* Reorganize without rpc_ready event
* Remove rpc ready event
* Removed bot reference from rpc module
* Close RPC server cleanly
* refactor bot
* Refactor a bit and make RPC server initialization based on a cli flag
* Fix version resolver
* standardize version getters
* Pick a new port number
Ya'll are gonna hate me.
* Initial modifications
* Add initial setup.py
* working setup py help
* Modify setup file to package stuff
* Move a bunch of shit and fix imports
* Fix or skip tests
* Must add init files for find_packages to work
* Move main to scripts folder and rename
* Add shebangs
* Copy over translation files
* WORKING PIP INSTALL
* add dependency information
* Hardcoded version for now, will need to figure out a better way to do this
* OKAY ITS FINALLY FUCKING WORKING
* Add this guy
* Fix stuff
* Change readme to rst
* Remove double sentry opt in
* Oopsie
* Fix this thing
* Aaaand fix test
* Aaaand fix test
* Fix core cog importing and default cog install path
* Adjust readme
* change instance name from optional to required
* Ayyy let's do more dependency injection