| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
| |
- Added the option to specify a channel to have Python repeat what you said to it, as well as keeping the old functionality of having it repeat what you said in the current channel if no channel argument is given.
Signed-off-by: Daniel Brown <[email protected]>
|
|\
| |
| | |
Antimalware: fix paste service URL showing replacement field
|
| | |
|
|\ \
| |/
|/|
| |
| | |
python-discord/enhance-timedelta-for-infraction-expiration
Enhance timedelta for infraction expiration
|
| |
| |
| |
| | |
Changed from `get_duration_from_expiry` -> `format_infraction_with_duration`
|
| |
| |
| |
| | |
`humanize_delta`
|
| | |
|
| | |
|
| |
| |
| |
| | |
functions to return more than just 2 parts of the duration.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
`bot.utils.time.get_durations()`
|
| |
| |
| |
| | |
to user )
|
| |
| |
| |
| | |
`date_from` ( for pytest and more control over the behaviour )
|
| | |
|
| |
| |
| |
| | |
datetimes ( removed tzinfo from expiry )
|
| |
| |
| |
| | |
`expiry` and `datetime.utcnow()`
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Allow snekbox in esoteric-python channel
|
|/ /
| |
| |
| |
| | |
* Add a hidden_channels parameter to in_channel decorator to hide
channels from the InChannelCheckFailure error message.
|
|\ \
| | |
| | | |
Update antimalware.py to be more consistent with other information messages & improve code a slight bit
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Change `on_message_edit` - only show differences, highlighted in blue with hyperlink
Co-authored-by: Leon Sandøy <[email protected]>
|
| |\ \ \
| |/ / /
|/| | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
`content_before` and `content_after`
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
over each word.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Following Mark's reviews:
- The single `if` inside the `else` can be merged with its `else` - this will reduce the level of complexity and indentation.
- Changed from style
```py
new = ('hello'
'world')
```
to
```py
new = (
'hello'
'world'
)
```
to be more consistent with the rest of the code
|
| | | |
| | | |
| | | |
| | | | |
- A simple `http://.z` will show properly for PC client, but for android it completely broke -> changed to `http://o.hi` - minimum link to make discord think it's a link.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
... I think?
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Merged `before_response` and `after_response`.
- Only show the differences between `before.clean_content` and `after.clean_content`
- Included a `jump to message` link.
|
| | | |
| | | |
| | | |
| | | | |
Using ternary to avoid if else
|
| | |\ \
| |_|/ /
|/| | | |
|
|\ \ \ \
| |_|_|/
|/| | | |
Duck pond!
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
https://github.com/python-discord/bot/pull/621
I've changed to unit tests according to the comments made on the
issue. Most changes are straightforward enough, but, for context,
see the PR linked above.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I moved the check that tests if a payload contains a duck emoji to a
separate method. This makes it easier to test this part of the code
as a separate unit than when it's contained in the larger event
listener.
In addition, I kaizened the name `relay_message_to_duckpond` to the
less verbose `relay_message`; that's already clear enough.
|
| | | |
| | | |
| | | | |
Co-Authored-By: Mark <[email protected]>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit adds unit tests that provide a full branch coverage of
the `bot.cogs.duck_pond` file.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I have added a mock type to mock `discord.Webhook` instances. Note
that the current type is specifically meant to mock webhooks that
use an AsyncAdaptor and therefore has AsyncMock/coroutine mocks for
the "maybe-coroutine" methods specified in the `discord.py` docs.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The new AsyncIteratorMock no longer needs an additional method to be
used with a Mock object.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I have added a special mock that follows the specifications of a
`discord.User` instance. This is useful, since `Users` have less
attributes available than `discord.Members`. Since this difference
in availability of information can be important, we should not use
a `MockMember` to mock a `discord.user`.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The AsyncIteratorMock included in Python 3.8 will work similarly to
the mocks of callabes. This means that it allows you to set the items
it will yield using the `return_value` attribute. It will also have
support for the common Mock-specific assertions.
This commit introduces some backports of those features in a slightly
simplified way to make the transition to Python 3.8 easier in the
future.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `DuckPond.on_raw_message_add` event listener makes an API call to
fetch the message the reaction was added to. However, we don't need
to fetch the message if the reaction that was added is not relevant
to the duck pond. To prevent such unnecessary API calls, I have moved
the code that checks for the relevance of the reaction event to
before the code that fetches the message.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To allow for separate testing of the code that relays messages to the
duck pond, I have moved this part of the code from the event listener
to a separate method. The overall logic has remained unchanged.
In addition, I've kaizened to things:
- Removed unnecessary f-string without interpolation;
- Removed double negative (not item not in list)
|