|  | Commit message (Collapse) | Author | Age | Lines | 
|---|
| | |  | 
| |\  
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | Add upstream changes & resolve config conflicts introduced by #1041.
In the conflicting parts of the diff, this commit also re-sorts
constants which were added upstream to lexicographical order.
This does **not** re-sort all constants added upstream. | 
| | |\ |  | 
| | | | |  | 
| | |/  
| |   
| |   
| |   
| |   
| |   
| |   
| | | Some of the tests were failing because they were expecting send_webhook
to be a method of the DuckPond cog, other tests simply were no longer
applicable, and have been removed.
https://github.com/python-discord/bot/issues/667 | 
| | | 
| | 
| | 
| | | Co-authored-by: MarkKoz <[email protected]> | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | Suggested by Mark during review. If the download fails, we fallback
on showing an informative message, which will link the attachment
cdn link.
The attachment-handling logic was moved from the `archive` coroutine
into `make_embed`, which now also returns the file, if available.
In the end, this appears to be the smoothest approach.
Co-authored-by: MarkKoz <[email protected]> | 
| | | 
| | 
| | 
| | | Co-authored-by: MarkKoz <[email protected]> | 
| | | 
| | 
| | 
| | | Co-authored-by: MarkKoz <[email protected]> | 
| |\| |  | 
| | | |  | 
| | | |  | 
| | | |  | 
| | | |  | 
| | | |  | 
| | | |  | 
| | | |  | 
| | |\ |  | 
| | | |\ |  | 
| | | | |\ |  | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | | - Remove embed attributes checks
- Replace `self.dev_log.assert_awaited_once_with` with `self.dev_log.assert_awaited_once`. | 
| | | | |\ \ |  | 
| | | | | | | |  | 
| | | | | | | 
| | | | | | 
| | | | | | 
| | | | | | 
| | | | | | | Need to compare the IDs against each other rather than the Guild object
against the ID. | 
| | | | | | | 
| | | | | | 
| | | | | | 
| | | | | | | 404s probably mean the user is from another guild. | 
| | | | | | | |  | 
| | | | | | | |  | 
| | | | | | | |  | 
| | |\ \ \ \ \ |  | 
| | | | | | | | |  | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | There is no handling of file types as explained in the `archive`
docstring. Testing indicates that relaying incidents with e.g. a text
file attachment is simply a noop in the Discord GUI.
If there is at least one attachment, we always only relay the one
at index 0, as it is believed the user-sent messages can only contain
one attachment at maximum.
This also adds an extra test asserting the behaviour when an incident
with an attachment is archived. The existing test for `archive` is
adjusted to assume no attachments.
Joe helped me conceive & test this.
Co-authored-by: Joseph Banks <[email protected]> | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | This applies the previously defined `make_embed` function.
As the `archive` function is now simpler, I decided to reduce the
amount of whitespace ~ it's a lot more compact now.
Tests are adjusted as appropriate. | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | See `make_embed` docstring for further information.
The tests are fairly loose and should be easily adjustable in
the future should changes be made. | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | This is an important piece of information that shall be relayed. | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | Decision was made to use embeds to archive incidents instead of
webhooking the raw message. As such, we're reverting the branch
to a state from which the adjustments will be easier to make.
Reverted commits:
* a8d179d9b04f54b20c5e870bcfa85c78c42c8dca
* 6fa8caed037b247a7c194f58a4635de7dae21fd2 | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | Incident author and the moderator who actioned report are now passed
through `make_username` to create the webhook username.
Tests adjusted as appropriate. | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | The justification is to incorporate the `actioned_by` name into the
username in some way, and so the logical thing to do is to abstract
this process into a helper so that it can easily be adjusted in the
future. For now, I've chosen to separate the names by a pipe.
Discord webhook username cannot exceed 80 characters in length, and
so we cap it at this length by default. This is seen as more of an
edge-case, but it should be accounted for, as we're not joining two
names. The `max_length` param is configurable primarily for testing
purposes, it probably should never be passed explicitly.
This commit also provides two tests for the function. | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | See: a8b4e394d9da57287cd9497cd9bb0a97fa467e84 | 
| |\ \ \ \ \ \ \  
| | |_|_|_|_|/  
| |/| | | | |   
| | | | | | | | Adds the `sub_clyde` function, which we'll apply to our webhook. | 
| | |\ \ \ \ \ \ |  | 
| | | |\ \ \ \ \ \ |  | 
| | | | | | | | | | |  | 
| | | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | 
| | | | | | | | | | It just makes more sense to me to filter out messages at an earlier
stage. | 
| | | | |_|_|/ / /  
| | |/| | | | |   
| | | | | | | |   
| | | | | | | |   
| | | | | | | | | It's a private channel so there's no risk of a token "leaking".
Furthermore, messages cannot be deleted in DMs. | 
| | |/ / / / / / |  | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | This is already being patched at class-level. | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | Suggested by Mark during review. This follows the "ask for forgiveness
rather than permission" paradigm, ends up being less code to read, and
may be seen as more logical / safer.
The `ALLOWED_EMOJI` set was renamed to `ALL_SIGNALS` as this now better
communicates the set's purpose.
Tests adjusted as appropriate.
Co-authored-by: MarkKoz <[email protected]> | 
| | | | | | | | |  | 
| | | | | | | | |  | 
| | | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | 
| | | | | | | | See the docstring. This does not make the ambition to be powerful
enough to be included in `tests.helpers`, and is only intended
for local purposes. |