| Commit message (Collapse) | Author | Age | Lines |
| | |
|
| |
|
|
| |
This case is already covered by checking if at least one letter is included.
|
| |
|
|
| |
The tag fallback didn't convert tags, resulting in possible invalid tag names being passed to the `tags_get_command`. This makes sure they're valid and ignores the risen exception if they are not.
|
| |
|
|
| |
With only ascii and numbers being allowed to go through, possible values still included things like `$()` which don't match anything in `REGEX_NON_ALPHABET` from tags.py resulting in an error.
|
| |\
| |
| |
| |
| | |
python-discord/bug/utils/bot-1c/reminder-unschedule-failure
Reminders: don't cancel task if reminder is invalid when rescheduling
|
| | |\
| |/
|/| |
|
| |\ \
| | |
| | | |
Prevent the role syncer from wiping the database table during API latency
|
| | |\ \
| |/ /
|/| |
| | | |
bug/backend/b704/ready-missing-cache
|
| |\ \ \
| | | |
| | | | |
Reminder Embed Enhancements & Whitelist Expansion
|
| | |\ \ \
| |/ / /
|/| | | |
|
| | | | |
| | | |
| | | | |
Co-Authored-By: Mark <[email protected]>
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Refactor confirmation embed footer string generation to be more concise
* Multiline long method calls
* Refactor humanized delta f string generation for readability
* Switch from `datetime.isoformat` to `dateutils.parser.isoparse` to align with changes elsewhere in the codebase (should be more robust)
* Shift reminder channel whitelist to constants
Co-Authored-By: Mark <[email protected]>
|
| | | | |
| | | |
| | | | |
Add channel ID to config files
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Convert diff namedtuple to dict outside the dict comprehension
* Define long condition as a boolean instead of in the if statement
* Pass role and user dicts to aiohttp normally instead of unpacking
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is more visible than it would be if it was only logged.
* Add a webhook for the dev-log channel to constants
|
| | | | |
| | | |
| | | |
| | | | |
Explain changes caused by 22a55534ef13990815a6f69d361e2a12693075d5.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This error is due to the use of an actual instance of APIClient as the
spec for the mock. recreate() is called in __init__ which in turn
creates a task for the _create_session coroutine.
The approach to the solution is to use the type for the spec rather than
and instance, thus avoiding any call of __init__. However, without an
instance, instance attributes will not be included in the spec.
Therefore, they are defined as class attributes on the actual APIClient
class definition and given default values.
Alternatively, a subclass of APIClient could have been made in the
tests.helpers module to define those class attributes. However, it
seems easier to maintain if the attributes are in the original class
definition.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Should PUT user's data or POST it if the user doesn't exist.
ResponseCodeError should be re-raised if status code isn't a 404.
A helper method was added to reduce code redundancy between the 2 tests.
|
| | | | |
| | | |
| | | |
| | | | |
This better ensures that roles are being sorted when patching.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
The listener was changed earlier to simply set in_guild to False.
This commit accounts for that in the test.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The sync commands should only run if the author has the administrator
permission.
* Add missing spaces after class docstrings
* Add missing docstring to SyncCogCommandTests
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The subclass will contain assertions that are useful for testing Discord
commands. The currently included assertion tests that a command will
raise a MissingPermissions exception if the author lacks permissions.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The member and user update listeners should already be detecting and
updating other fields so by the time a user leaves, the rest of the
fields should be up-to-date.
* Dedent condition which was indented too far
|
| | | | |
| | | |
| | | |
| | | | |
sync() should be called on the UserSyncer.
|
| | | | |
| | | |
| | | |
| | | | |
sync() should be called on the RoleSyncer.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
A user should be patched only if the name, discriminator, or avatar
changes.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Members should not be patched if other attributes have changed.
|
| | | | |
| | | |
| | | |
| | | | |
Members should be patched if their roles have changed.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
A PUT request should be sent to set in_guild as False and update other
fields.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
A PUT request should be sent if the colour, name, permissions, or
position changes.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
It is obsolete because MockRole now takes care of creating the Colour
and Permissions objects.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Instances of discord.Colour and discord.Permissions will be created
by default or when ints are given as values for those attributes.
|
| | | | |
| | | |
| | | |
| | | | |
A DELETE request should be sent.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A POST request should be sent with the new role's data.
* Add a fixture to create a MockRole
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Reduces redundancy in the tests by taking care of the mocks, calling of
the function, and the assertion.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A PATCH request should be sent. The error should only be raised if it
is not a 404.
* Add a fixture to create ResponseCodeErrors with a specific status
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Roles and users should be synced only if a guild is successfully
retrieved.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
While on 3.7, the CustomMockMixin needs to be leveraged so that
coroutine members are replace with AsyncMocks instead.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This prevents persistence of changes to the cog instance; sync_guild
would otherwise remain as a mock object for any subsequent tests.
|
| | | | |
| | | |
| | | |
| | | | |
* Move patches to setUp
|