| Commit message (Collapse) | Author | Age | Lines | 
| ...                          |  | 
| | | |\ \ \ \ \ \ \ \ \ \ \  
| |_|/ / / / / / / / / / /  
|/| | | | | | | | | | | |   
| | | | | | | | | | | | |    | 
I have resolved a merge conflict in Pipfile.lock by relocking with the newly added dependencies of `coloredlogs` and `colorama`.
 | 
| |\| | | | | | | | | | | | 
| |_|_|_|/ / / / / / / /  
|/| | | | | | | | | | |    | 
Coloured log output
 | 
| | | | | | | | | | | | |  | 
 | 
| |/ / / / / / / / / / /  
| | | | | | | | | | |   
| | | | | | | | | | |   
| | | | | | | | | | |   
| | | | | | | | | | |    | 
This makes it easy to add colour to the logs. Colorama is also installed
if on a Windows system.
 | 
| | | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | | 
| | | | | | | | | | |  | 
I've migrated the `tests/test_snekbox.py` file to use the new Python 3.8-style unittests instead of our old style using our custom Async mocks.
In particular, I had to make a few changes:
- Mocking the async post() context manager correctly
Since `ClientSession.post` returns an async context manager when called, we need to make sure to assign the return value to the __aenter__ method of whatever `post()` returns, not of `post` itself (i.e.. when it's not called).
- Use the new AsyncMock assert methods `assert_awaited_once` and `assert_awaited_once_with`
Objects of the new `unittest.mock.AsyncMock` class have special methods to assert what they were called with that also assert that specific coroutine object was awaited. This means we test two things in one: Whether or not it was called with the right arguments and whether or not the returned coroutine object was then awaited.
- Patch `functools.partial` as `partial` objects are compared by identity
When you create two partial functions of the same function, you'll end up with two different `partial` objects. Since `partial` objects are compared by identity, you can't compare a `partial` created in a test method to that created in the callable you're trying to test. They will always compare as `False`. Since we're not interested in actually creating `partial` objects, I've just patched `functools.partial` in the namespace of the module we're testing to make sure we can compare them.
 | 
| | |\ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / /  
|/| | | | | | | | | |   
| | | | | | | | | | |    | 
I've resolved the merge conflict by confirming the deleted part of tests/helpers.py
 | 
| |\ \ \ \ \ \ \ \ \ \ \  
| |_|_|_|_|_|/ / / / /  
|/| | | | | | | | | |   
| | | | | | | | | | |   
| | | | | | | | | | |    | 
python-discord/bug/backend/b754/scheduler-suppresses-errors
Don't suppress all errors in scheduler
 | 
| | |\ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / /  
|/| | | | | | | | | |    | 
 | 
| |\ \ \ \ \ \ \ \ \ \ \  
| |_|_|_|_|_|_|_|_|_|/  
|/| | | | | | | | | |    | 
Fix invalid tag names being passed to the tag cog.
 | 
| | |\ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / /  
|/| | | | | | | | | |    | 
 | 
| |\ \ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | | 
| | | | | | | | | | | |  | 
Eval cog improvements 
 | 
| | | | | | | | | | | | |  | 
 | 
| | |\ \ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / / /  
|/| | | | | | | | | | |    | 
 | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | |  | 
It could have caused some errors if the user delete his own message
 | 
| | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | |  | 
Unicode literals aren't really safe compared to code points
 | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | | 
| | | | | | | | | | | |  | 
Two functions were created: send_eval and continue_eval, in order to facilitate testing. The corresponding tests are also changed in this commit.
 | 
| | |\ \ \ \ \ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
Because of the stripping, it should still be considered as empty
Co-Authored-By: Mark <[email protected]>
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
Reduce visual clutter
Co-Authored-By: Mark <[email protected]>
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
Reads better as separate lines
Co-Authored-By: Mark <[email protected]>
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
Co-Authored-By: Mark <[email protected]>
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
Makes the code a bit clearer
Co-authored-by: Shirayuki Nekomata <[email protected]>
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
It was triggering an error if the user deleted the output before re-evaluating
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
This avoid recreating partials for each re-eval
 | 
| | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
It can be used to test aiohttp request functions, since they are async context managers
 | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | | 
| | | | | | | | | | | | |  | 
The use of lambdas made the functions hard to test, this new format allows us to easily test those functions and document them.
 | 
| | |\ \ \ \ \ \ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | |  | 
If the eval message is edited after less than 10 seconds, an emoji
is added to the message, and if the user adds the same, the snippet
is re-evaluated. This make easier to correct snipper mistakes.
 | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | |  | 
It could lead to a misleading result if it is stripped.
 | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | |  | 
It allows the cog to also work on Windows, because of Signals.SIGKILL not being defined on this platform
 | 
| | | | | |\ \ \ \ \ \ \ \ \ \  
| |_|_|_|/ / / / / / / / / /  
|/| | | | | | | | | | | | |   
| | | | | | | | | | | | | |   
| | | | | | | | | | | | | |    | 
# Conflicts:
#	bot/cogs/error_handler.py
 | 
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | |  | 
Handle more types of CommandError
 | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / / / / / /  
|/| | | | | | | | | | | | | |    | 
 | 
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| |_|_|_|_|_|_|_|_|_|_|_|_|_|/  
|/| | | | | | | | | | | | | |    | 
Rename constants to match their guild counterparts
 | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / / / / / /  
|/| | | | | | | | | | | | | |    | 
 | 
| | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | |  | 
Delete duplicate keys that were missed in the merge
 | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \   | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
This name better explains what the list is for.
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
Lists were getting too long to be readable as one line. Having each
element on a separate line also reduces merge conflicts.
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
They used to only be loaded in "debug mode" because the main guild was
used to test the bot. However, we have since moved to using a separate
test guild so it's no longer a concern if these cogs get loaded.
It was confusing to some contributors as to why these cogs were not
being loaded since the debug mode isn't really documented anywhere.
 | 
| | | | | | | | | | | | | | | | |  | 
 |