aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| * | | | | | | | | | | Help channels: add a function to get in use timeGravatar MarkKoz2020-06-08-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Future code will also need to get this time, so moving it out to a separate function reduces redundancy.
| * | | | | | | | | | | Help channels: fix claim timestamp being localGravatar MarkKoz2020-06-08-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The datetime module returns a local timestamp for naïve datetimes. It has to be timezone-aware to ensure it will always be in UTC.
| * | | | | | | | | | | Remove pointless suppress.Gravatar Leon Sandøy2020-06-07-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since help_channel_claimants.delete will never raise a KeyError, it's not necessary to suppress one.
| * | | | | | | | | | | Merge branch 'master' into help_channel_rediscacheGravatar Leon Sandøy2020-06-06-1/+7
| |\ \ \ \ \ \ \ \ \ \ \ | | | |/ / / / / / / / / | | |/| | | | | | | | |
| * | | | | | | | | | | Merge branch 'master' into help_channel_rediscacheGravatar Leon Sandøy2020-06-06-84/+134
| |\ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Fix potential race condition.Gravatar Leon Sandøy2020-06-06-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of first checking if the channel.id exists and then checking what it is, we just do a single API call, to prevent cases where something fucky might happen inbetween the first and the second call.
| * | | | | | | | | | | | Store epoch timestamps instead of strings.Gravatar Leon Sandøy2020-06-06-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're also switching from datetime.now() to datetime.utcnow().
| * | | | | | | | | | | | Store booleans as integers instead of strings.Gravatar Leon Sandøy2020-06-06-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means we don't need to rely on strtobool, and is a cleaner implementation overall. Thanks @MarkKoz.
| * | | | | | | | | | | | Refactor help_channels.py to use RedisCache.Gravatar Leon Sandøy2020-06-06-28/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More specifically, we're turning three dicts into RedisCaches: - help_channel_claimants - unanswered - claim_times These will still work the same way, but will now persist their contents across restarts.
| * | | | | | | | | | | | Add support for bool values in RedisCacheGravatar Leon Sandøy2020-05-31-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're gonna need this for the help channel handling, and it seems like a reasonable type to support anyway. It requires a tiny bit of special handling, but nothing outrageous.
| | | | | | * | | | | | | Delete the loop argument from schedule_task callsGravatar Matteo Bertucci2020-03-02-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function doesn't take the loop as an argument anymore
| | | | | | * | | | | | | Remove task self cancel.Gravatar Matteo Bertucci2020-03-02-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent changes to the scheduler requires this line to be removed.
| | | | | | * | | | | | | Merge branch 'master' into #364-offensive-msg-autodeletionGravatar Matteo2020-03-01-1933/+4045
| | | | | | |\ \ \ \ \ \ \
| | | | | | * | | | | | | | Make sure that the offensive message deletion date returned by the API is naive Gravatar Matteo Bertucci2020-02-29-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It could have caused an issue later with a mix of naive and aware datetime Co-Authored-By: Sebastiaan Zeeff <[email protected]>
| | | | | | * | | | | | | | Merge branch 'master' into #364-offensive-msg-autodeletionGravatar Joseph2020-02-02-508/+1333
| | | | | | |\ \ \ \ \ \ \ \
| | | | | | * | | | | | | | | Filtering: fix missing deletion date in scheduled task dataGravatar MarkKoz2019-12-15-11/+8
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Filtering: fix comparison between tz naïve and aware datetimesGravatar MarkKoz2019-12-15-1/+1
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Filtering: refactor scheduling of deletion taskGravatar MarkKoz2019-12-15-13/+9
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Filtering: log the status code of caught HTTPExceptionGravatar MarkKoz2019-12-15-4/+2
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Make setting filter.offensive_msg_delete_days pluralGravatar Akarys422019-12-14-2/+2
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Rename route /bot/offensive-message to /bot/offensive-messagesGravatar Akarys422019-12-14-3/+3
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Fix docstring typoGravatar Akarys422019-12-14-1/+1
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Actually schedule message for deletionGravatar Akarys422019-12-14-0/+2
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Catch all HTTPExecptionGravatar Akarys422019-12-14-1/+5
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Rename config entry to offensive_msg_delete_daysGravatar Akarys422019-12-14-3/+3
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Make use of dateutil.parser.isoparseGravatar Akarys422019-12-14-2/+3
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Filtering cog clean upGravatar Akarys422019-12-14-9/+10
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Make use of the Bot subclassGravatar Matteo Bertucci2019-12-12-1/+1
| | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | Merge branch 'master' into #364-offensive-msg-autodeletionGravatar Matteo Bertucci2019-12-12-413/+1442
| | | | | | |\ \ \ \ \ \ \ \ \
| | | | | | * | | | | | | | | | Add space for readabilityGravatar Matteo Bertucci2019-12-12-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Mark <[email protected]>
| | | | | | * | | | | | | | | | Merge branch 'master' into #364-offensive-msg-autodeletionGravatar Matteo Bertucci2019-11-16-975/+1910
| | | | | | |\ \ \ \ \ \ \ \ \ \
| | | | | | * | | | | | | | | | | Switch to datetime.datetimeGravatar Akarys422019-10-26-6/+6
| | | | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | | | Merge branch 'master' into #364-offensive-msg-autodeletionGravatar Akarys422019-10-25-191/+182
| | | | | | |\ \ \ \ \ \ \ \ \ \ \
| | | | | | * | | | | | | | | | | | Use Scheduler instead of a custom async loopGravatar Akarys422019-10-25-41/+43
| | | | | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | | | | Rename offensive_msg flag to schedule_deletion.Gravatar Akarys422019-10-25-7/+7
| | | | | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | | | | Remove the possibility that we send a message to the API that the filter has ↵Gravatar Akarys422019-10-25-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | already deleted.
| | | | | | * | | | | | | | | | | | Move offensive message delete time to config file.Gravatar Akarys422019-10-25-2/+4
| | | | | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | | | | Revert whitespace changesGravatar Matteo Bertucci2019-10-25-6/+6
| | | | | | | | | | | | | | | | | |
| | | | | | * | | | | | | | | | | | Autodelete offensive messages after one week.Gravatar Akarys422019-10-25-10/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the filter cog filter a message that's considered as offensive (filter["offensive_msg"] is True), the cog create a new offensive message object in the bot db with a delete_date of one week after it was sent. A background task run every day, pull up a list of message to delete, find them back, and delete them.
| | | | | | | | | | | | * | | | | | Webhook remover: exit early if message already deletedGravatar MarkKoz2020-06-15-2/+8
| | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | * | | | | | Webhook remover: ignore DMs and bot messagesGravatar MarkKoz2020-06-15-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can't remove messages in DMs, so don't bother trying.
| | | | | | | | | | | | * | | | | | Token remover: exit early if message already deletedGravatar MarkKoz2020-06-15-3/+22
| | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | * | | | | | Token remover: move bot check to on_messageGravatar MarkKoz2020-06-15-21/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It just makes more sense to me to filter out messages at an earlier stage.
| | | | | | | | | | | | * | | | | | Token remover: ignore DMsGravatar MarkKoz2020-06-15-0/+13
| | | | | |_|_|_|_|_|_|/ / / / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's a private channel so there's no risk of a token "leaking". Furthermore, messages cannot be deleted in DMs.
| | | | | | | | | | | | * | | | | Write unit test for `sub_clyde`Gravatar kwzrd2020-06-20-0/+27
| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | * | | | | Preserve empty string when substituting clydeGravatar MarkKoz2020-06-19-0/+2
| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | * | | | | Make sub_clyde case-sensitive and use Cyrillic e'sGravatar MarkKoz2020-06-17-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Cyrillic characters are more likely to be rendered similarly to their Latin counterparts than the math sans-serif characters.
| | | | | | | | | | | | * | | | | Fix 400 when "clyde" is in webhook usernameGravatar MarkKoz2020-06-15-8/+24
| |_|_|_|_|_|_|_|_|_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Discord just disallows this name.
* | | | | | | | | | | | | | | | Log exception info for failed attachment uploadsGravatar MarkKoz2020-06-15-1/+1
| |_|_|/ / / / / / / / / / / / |/| | | | | | | | | | | | | |
| | | | | | | | | | | * | | | Logging Tests: Simplify `DEBUG_MODE` `False` testGravatar ks1292020-05-22-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove embed attributes checks - Replace `self.dev_log.assert_awaited_once_with` with `self.dev_log.assert_awaited_once`.