aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | | | * | | | ModManagement: allow "recent" as ID to edit infraction (#624)Gravatar MarkKoz2019-12-11-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It will attempt to find the most recent infraction authored by the invoker of the edit command.
| | | | * | | | Add a generic converter for only allowing certain string valuesGravatar MarkKoz2019-12-11-13/+23
| |_|_|/ / / / |/| | | | | |
* | | | | | | Merge pull request #682 from manusaurio/masterGravatar Shirayuki Nekomata2019-12-09-0/+3
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Ensure hidden_channels and bypass_roles use a list when not passed.
| * | | | | | Ensure hidden_channels and bypass_roles use a list when not passed.Gravatar Manuel Ignacio Pérez Alcolea2019-12-09-0/+3
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The in_channel decorator raised 'NoneType' is not iterable when it wasn't passed, due to the default value being None but not checked against before iterating over it. This edit ensures the arguments are set to an empty list in cases where they have a value of None instead.
| | | * | | Apply suggestions from Mark - removing `.` at the end and use double quote ↵Gravatar Shirayuki Nekomata2019-12-04-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of single. Co-Authored-By: Mark <[email protected]>
| | | * | | Implemented remaining time until expiration for infraction searching.Gravatar Shirayuki Nekomata2019-12-04-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Will show the remaining time, `Expired.` or `Inactive.` based on the status of the infraction ( It can be inactive but not expired, like an early unmute )
| | | * | | Created `until_expiration` to get the remaining time until the infraction ↵Gravatar Shirayuki Nekomata2019-12-04-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | expires.
| | | * | | Improved type hinting for `format_infraction_with_duration`Gravatar Shirayuki Nekomata2019-12-04-1/+5
| | | | |/ | | | |/|
| | | | * Reddit: raise ClientError when the token can't be retrievedGravatar MarkKoz2019-12-11-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Raising an exception allows the error handler to display a message to the user if the failure happened from a command invocation.
| | | | * Reddit: log retries when getting the access tokenGravatar MarkKoz2019-12-11-1/+9
| | | | |
| | | | * Reddit: create a dict constant for the User-Agent headerGravatar MarkKoz2019-12-11-27/+12
| | | | |
| | | | * Reddit: revise docstringsGravatar MarkKoz2019-12-11-9/+17
| | | | |
| | | | * Reddit: define AccessToken type at the module levelGravatar MarkKoz2019-12-11-1/+2
| | | | |
| | | | * Reddit: use expires_in from the response to calculate token expirationGravatar MarkKoz2019-12-11-2/+3
| | | | |
| | | | * Reddit: use qualified_name attribute when removing the cogGravatar MarkKoz2019-12-11-1/+1
| | | | |
| | | | * Reddit: move BasicAuth instantiation to __init__Gravatar MarkKoz2019-12-11-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The object is basically just a namedtuple so there's no need to re-create it every time a token is obtained. * Remove log message which shows credentials. * Initialise headers attribute to None in __init__.
| | | | * Reddit: move token renewal inside fetch_postsGravatar MarkKoz2019-12-11-17/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the duplicate code for renewing the token. Since fetch_posts is the only place where the token gets used, it can just be refreshed there directly.
| | | | * Merge branch 'master' into reddit-api-oauthGravatar Jens2019-12-05-1198/+3100
| | | | |\ | |_|_|_|/ |/| | | |
* | | | | Added optional channel parameter to !echo:Gravatar Daniel Brown2019-12-05-4/+7
| |_|/ / |/| | | | | | | | | | | | | | | | | | | - 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]>
* | | | Merge pull request #678 from python-discord/antimalware-paste-urlGravatar Mark2019-12-03-1/+1
|\ \ \ \ | | | | | | | | | | Antimalware: fix paste service URL showing replacement field
| * | | | Antimalware: fix paste service URL showing replacement fieldGravatar MarkKoz2019-12-03-1/+1
| | | | |
* | | | | Merge pull request #672 from ↵Gravatar Mark2019-12-03-6/+28
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | python-discord/enhance-timedelta-for-infraction-expiration Enhance timedelta for infraction expiration
| * | | | Renamed function and improved its docstring to better reflect its purposes.Gravatar Shirayuki Nekomata2019-12-04-16/+9
| | | | | | | | | | | | | | | | | | | | Changed from `get_duration_from_expiry` -> `format_infraction_with_duration`
| * | | | Deleted `get_duration` and switched to using the already, nicely made ↵Gravatar Shirayuki Nekomata2019-12-03-48/+8
| | | | | | | | | | | | | | | | | | | | `humanize_delta`
| * | | | Removed pytest, getting ready to migrate to unittest in another PRGravatar Shirayuki Nekomata2019-12-03-44/+0
| | | | |
| * | | | Updated test cases for `parts: Optional[int]`Gravatar Shirayuki Nekomata2019-11-27-23/+32
| | | | |
| * | | | Updated docstrings, allow passing `parts: Optional[int] = 2` to helper ↵Gravatar Shirayuki Nekomata2019-11-27-6/+14
| | | | | | | | | | | | | | | | | | | | functions to return more than just 2 parts of the duration.
| * | | | Updated test cases for `get_duration_from_expiry()`Gravatar Shirayuki Nekomata2019-11-27-8/+9
| | | | |
| * | | | Refactored `scheduler.py` to use the new `get_duration_from_expiry()`Gravatar Shirayuki Nekomata2019-11-27-10/+4
| | | | |
| * | | | Refactored `management.py` to use the new `get_duration_from_expiry()`Gravatar Shirayuki Nekomata2019-11-27-5/+4
| | | | |
| * | | | Changed `get_duration_from_expiry()` to return the `time (duration)` or a `''`Gravatar Shirayuki Nekomata2019-11-27-2/+11
| | | | |
| * | | | Added duration until expiration for infraction searching.Gravatar Shirayuki Nekomata2019-11-27-2/+5
| | | | |
| * | | | Fixed "14 minutes, 60 seconds" by rounding `.total_seconds()` in ↵Gravatar Shirayuki Nekomata2019-11-27-0/+1
| | | | | | | | | | | | | | | | | | | | `bot.utils.time.get_durations()`
| * | | | Added expiry duration when applying infraction ( including in the embed sent ↵Gravatar Shirayuki Nekomata2019-11-27-3/+6
| | | | | | | | | | | | | | | | | | | | to user )
| * | | | Updated `bot.utils.time.get_duration_from_expiry()` to accept an optional ↵Gravatar Shirayuki Nekomata2019-11-27-2/+2
| | | | | | | | | | | | | | | | | | | | `date_from` ( for pytest and more control over the behaviour )
| * | | | Added test for `get_duration_from_expiry()`Gravatar Shirayuki Nekomata2019-11-27-0/+17
| | | | |
| * | | | Fixed TypeError raised by substracting offset-naive and offset-aware ↵Gravatar Shirayuki Nekomata2019-11-27-1/+1
| | | | | | | | | | | | | | | | | | | | datetimes ( removed tzinfo from expiry )
| * | | | Implemented `get_duration_from_expiry()` which call `get_duration()` for ↵Gravatar Shirayuki Nekomata2019-11-27-0/+18
| | | | | | | | | | | | | | | | | | | | `expiry` and `datetime.utcnow()`
| * | | | Added pytest for `get_duration()`Gravatar Shirayuki Nekomata2019-11-27-0/+17
| | | | |
| * | | | Implemented `get_duration()` for `bot.utils.time`Gravatar Shirayuki Nekomata2019-11-27-1/+35
| | | | |
* | | | | Allow snekbox in esoteric-python channel (#675)Gravatar scragly2019-12-02-4/+15
|\ \ \ \ \ | | | | | | | | | | | | Allow snekbox in esoteric-python channel
| * | | | | Allow snekbox in esoteric-python channelGravatar MarkKoz2019-12-01-4/+15
|/ / / / / | | | | | | | | | | | | | | | | | | | | * Add a hidden_channels parameter to in_channel decorator to hide channels from the InChannelCheckFailure error message.
* | | | | Merge pull request #671 from Denayder/masterGravatar Leon Sandøy2019-11-30-23/+21
|\ \ \ \ \ | | | | | | | | | | | | Update antimalware.py to be more consistent with other information messages & improve code a slight bit
| * \ \ \ \ Merge branch 'master' into masterGravatar Leon Sandøy2019-11-30-82/+69
| |\ \ \ \ \ | |/ / / / / |/| | | | |
* | | | | | Change `on_message_edit` - only show differences, highlighted in… (#646)Gravatar scragly2019-11-30-82/+69
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change `on_message_edit` - only show differences, highlighted in blue with hyperlink Co-authored-by: Leon Sandøy <[email protected]>
| * \ \ \ \ \ Merge branch 'master' into message-edit-hyperlinkGravatar scragly2019-11-30-919/+2770
| |\ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Update bot/cogs/moderation/modlog.pyGravatar Leon Sandøy2019-11-30-1/+1
| | | | | | |
| * | | | | | Renamed variables to be more explicit, added type hinting for ↵Gravatar Shirayuki Nekomata2019-11-16-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `content_before` and `content_after`
| * | | | | | Condensed logic, now only check for `add` `remove` `same` diff_type only.Gravatar Shirayuki Nekomata2019-11-14-8/+6
| | | | | | |
| * | | | | | Switched to using list instead of `str.replace()` for much better control ↵Gravatar Shirayuki Nekomata2019-11-13-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | over each word.