aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
* | | Merge pull request #454 from python-discord/minor-moderation-modsGravatar Daniel Brown2019-09-26-144/+14
|\ \ \ | | | | | | | | Minor moderation mods
| * \ \ Merge branch 'master' into minor-moderation-modsGravatar Daniel Brown2019-09-26-4/+5
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #455 from python-discord/hemlock-free-fixGravatar Chris G2019-09-25-4/+5
|\ \ \ \ | | | | | | | | | | Free Command Fix
| * | | | Swapped Lambda for itemgetterGravatar Daniel Brown2019-09-25-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - For the sake of code style and consistency, the lambda has been swapped with operator.itemgetter Signed-off-by: Daniel Brown <[email protected]>
| * | | | Free Command FixGravatar Daniel Brown2019-09-25-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Moved the sorted function to its own line and instead passed the generated list for code clarity. Signed-off-by: Daniel Brown <[email protected]>
| * | | | Free Command FixGravatar Daniel Brown2019-09-25-4/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | - Fixed bug where if two channels had the same last message timestamp the command would error out. Signed-off-by: Daniel Brown <[email protected]>
| * | | Remove infraction reason from infraction confirmationGravatar S. Co12019-09-25-53/+10
| | | | | | | | | | | | | | | | Closes #325
| * | | Unhide the tags commandGravatar S. Co12019-09-25-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | KAIZEN! Closes #385
| * | | Decouple warnings and notesGravatar S. Co12019-09-25-1/+1
| | | | | | | | | | | | | | | | Closes #453
| * | | Remove permanent mutesGravatar S. Co12019-09-25-89/+2
|/ / / | | | | | | | | | | | | | | | | | | Add previous permanent mute invocations as aliases of their respective mute commands. Closes #318
* | | Merge pull request #452 from python-discord/hemlock-change-note-typeGravatar S. Co12019-09-24-1/+1
|\ \ \ | | | | | | | | Note Type Correction
| | * | Parse timestamps with dateutil for watch channelsGravatar MarkKoz2019-09-26-5/+2
| | | |
| | * | Use format_infaction datetime util in talentpoolGravatar Sebastiaan Zeeff2019-09-26-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The watchchannel ABC defined its own private utility function to format ISO datetime strings to something more human-readable. I have removed this private utility function and replaced the calls to it with calls to the new `format_infraction` utility function defined in bot.utils.time. In addition, I've changed the utility function to use `dateutil` to parse the datetime string, since `dateutil.parser.isoparse` supports the strings our API generates out of the box. With the built-in `datetime.datetime.fromisoformat`, we needed to prepare the string by slicing of the `Z` timezone indicator.
| | * | Add utility function to consistently format infraction timestampsGravatar MarkKoz2019-09-26-33/+18
| | | | | | | | | | | | | | | | The format used is %Y-%m-%d %H:%M.
| | * | Show when field is unchanged in infraction edit confirmation messageGravatar MarkKoz2019-09-26-0/+4
| | | |
| | * | Display "Permanent" in mod log for edited infractionsGravatar MarkKoz2019-09-25-2/+2
| | | |
| | * | Merge infraction edit commandsGravatar MarkKoz2019-09-25-108/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both the duration and the reason can be edited with the new command. * Remove try-except; the default error handler is already adequate * Remove the new reason from the confirmation message * Simplify humanisation of the timestamp in the confirmation message * Add a converter to support permanent durations
| | * | Fix AttributeError with cog special methodsGravatar MarkKoz2019-09-25-4/+4
| |/ / | | | | | | | | | | | | | | | | | | Discord.py's internals use the __func__ attribute of special methods (cog_command_error, cog_check, cog_before_invoke, cog_after_invoke). Therefore the methods must be bound methods rather than static so that the attribute exists.
| * / Note Type CorrectionGravatar Daniel Brown2019-09-24-1/+1
|/ / | | | | | | | | | | - In the database, notes were being listed as "warnings" despite having a type specifically for them. Changed it so that notes are now listed as the proper type. Signed-off-by: Daniel Brown <[email protected]>
* | Merge pull request #448 from Akarys42/ot-fixGravatar S. Co12019-09-24-3/+8
|\ \ | | | | | | Catch error in case of non successfull API call for new ot-names
| * \ Merge branch 'master' into ot-fixGravatar S. Co12019-09-24-171/+166
| |\ \ | |/ / |/| |
* | | Merge pull request #451 from python-discord/all-the-shieldsGravatar Mark2019-09-24-3/+7
|\ \ \ | | | | | | | | Add all the shields!
| * | | Add all the shieldsGravatar scragly2019-09-25-3/+7
|/ / /
* | | Merge pull request #450 from python-discord/rich-embed-false-positive-fixGravatar S. Co12019-09-24-15/+33
|\ \ \ | | | | | | | | Prevent false-positives of the rich embed filter
| * \ \ Merge branch 'master' into rich-embed-false-positive-fixGravatar S. Co12019-09-24-153/+126
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #443 from Akarys42/masterGravatar Mark2019-09-24-11/+8
|\ \ \ \ | | | | | | | | | | Change log.error to log.exception
| * \ \ \ Merge branch 'master' into masterGravatar Mark2019-09-24-231/+286
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Docker Build & CI Refinements (#444)Gravatar scragly2019-09-25-142/+118
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Docker Build & CI Refinements Co-authored-by: S. Co1 <[email protected]>
| * | | | | Remove unnecessary sudo for pipenv install.Gravatar scragly2019-09-25-1/+1
| | | | | |
| * | | | | Fix reminders filter queryGravatar S. Co12019-09-24-2/+2
| | | | | | | | | | | | | | | | | | Closes #445
| * | | | | Remove regex wheel as dateparser is no longer used.Gravatar scragly2019-09-25-0/+0
| | | | | |
| * | | | | Create default django admin user.Gravatar scragly2019-09-24-1/+3
| | | | | |
| * | | | | Fix random text mistake in Dockerfile.Gravatar scragly2019-09-24-1/+1
| | | | | |
| * | | | | Add docker build condition for CI.Gravatar scragly2019-09-24-0/+1
| | | | | |
| * | | | | Remove unneeded Pipfile scripts and azure stages/vars.Gravatar scragly2019-09-24-51/+14
| | | | | |
| * | | | | Add a dev-only compose for new devs who don't have `site`.Gravatar scragly2019-09-24-0/+28
| | | | | |
| * | | | | Pin dependencies, pre-build `regex` pkg.Gravatar scragly2019-09-24-20/+17
| | | | | |
| * | | | | Reformat indents, use Docker@2 task for azure instead of sh script.Gravatar scragly2019-09-24-78/+63
|/ / / / /
| * | | | Fix E128 linting errorGravatar Akarys422019-09-23-4/+4
| | | | |
| * | | | Merge branch 'python-discord-master'Gravatar Akarys422019-09-23-4931/+5537
| |\ \ \ \
| | * | | | Merge branch 'master' of https://github.com/python-discord/bot into ↵Gravatar Akarys422019-09-23-4931/+5537
| |/| | | | | | | | | | | | | | | | | | | | | | python-discord-master
| * | | | | Change log.error to log.exceptionGravatar Akarys422019-09-22-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | See issue #382
| | | * | | Prevent false-positives of the rich embed filterGravatar Sebastiaan Zeeff2019-09-24-15/+33
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/python-discord/bot/issues/293 The rich embed filter is plagued by false positives now Discord has added more custom preview embeds for various websites. Since these embeds have the `rich` type instead of the `link` type, these embeds triggered the filter we had in place. This commit remedies that by using the existing URL regex pattern to list all the URLs contained in the message content and then checking if the embed url is a member of that list. If so, it's very likely that the embed was auto-generated from that URL, so we should ignore it. This approach deviates slightly from that outlined in #293. This does increase the probability of a false-negative, as a "true" user-generated rich embed could also have a url that's contained in the message body. However, I've checked most of the triggers we have had in the past and none of the legitimate triggers would have been a false-negative under the new rules. Therefore, I think it's very reasonable to adopt this strategy. In addition to the change in behavior of the rich embed filter, I have also kaizened the existing regex patterns by compiling them at load time. Since we check a lot of regex patterns for every message received by the bot, this should be beneficial for performance.
| | | * | Remove repeat logic for off-topic-name api callGravatar Sebastiaan Zeeff2019-09-24-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a short discussion in the core-dev team, we decided to not use retry logic for a failed API call for new off-topic-names. We may introduce something similar in the future, but we're not sure on the direction we want to take yet.
| | | * | Put import in alphabetical orderGravatar Matteo Bertucci2019-09-24-1/+1
| | | | |
| | | * | Override waiting time to half an hour Gravatar Matteo Bertucci2019-09-24-1/+6
| | | | | | | | | | | | | | | If an exception occurred
| | | * | Fix importing errorGravatar Matteo Bertucci2019-09-24-1/+2
| | | | | | | | | | | | | | | `bot.api.ResponseCodeError` is now imported
| | | * | Merge branch 'master' into ot-fixGravatar Matteo Bertucci2019-09-24-90/+169
| | | |\ \ | |_|_|/ / |/| | | |
* | | | | Merge pull request #449 from python-discord/duration-converter-fixGravatar Sebastiaan Zeeff2019-09-24-90/+169
|\ \ \ \ \ | |_|/ / / |/| | | | Fix failing duration conversion
| * | | | Restructure Duration converter docstringGravatar Sebastiaan Zeeff2019-09-23-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | In this commit, I've restructured the Duration converter's docstring to a more readable format: a bullet point list.