aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/deploy-azure.sh (unfollow)
Commit message (Collapse)AuthorLines
2019-09-14Improve handling of long deleted messsagesGravatar Sebastiaan Zeeff-5/+8
The `modlog` cog failed on long messages with attachments, since the inclusion of attachment metadata would bring the length of the embed description to go over the character limit of 2048. To fix this, I moved the addition of the attachment metadata to earlier in the code so it is taken into account for the character limit. In addition to this, I changed the truncation behavior. Instead of just truncating the message if it's too long, we now truncate and upload the full message to the `deleted messages` endpoint so the full message is still available. A link to the log will be included in the message-log embed.
2019-09-14Fix tag command invocation in aliasesGravatar MarkKoz-2/+2
Co-authored-by: Leon Sandøy <[email protected]>
2019-09-14Cogs.reload now has more readable error info.Gravatar Leon Sandøy-7/+7
When you run '!cogs reload *', the load failures will now include the Exception type, and has overall more readable formatting. Similarly, trying to do '!cogs load <some cog>' on a broken cog will show the Exception type as well.
2019-09-14Oops, forgot to remove DEVOPS role alias, that would crash the bot.Gravatar Leon Sandøy-1/+0
2019-09-14Nuking Roles.devops and the Deployment cog.Gravatar Leon Sandøy-98/+7
The Deployment cog does not work in our new server environment, nor are we particularly inclined to make it work (for security reasons). For this reason, I've removed it. I've also removed all usages of Roles.devops, replacing them with Roles.core_developer whenever this made sense to do, such as in the Cogs cog.
2019-09-14Deal with multiple active infractions in databaseGravatar Sebastiaan Zeeff-24/+50
While there are measures to prevent duplicate active infractions at the side of the bot, there's no formal restriction at the sid of the database. This means that it's possible for a user two get two active ban infractions or two active mute infractions at the same time, for instance after a manual table edit in Admin. This leads to an inconsistent state when unmuting/unbanning that user, as the ban or mute role will be removed on Discord, but only one of the entries in the database would be set to inactive, while the other(s) remain active. This means that an unmuted user will be remuted if they leave and rejoin the Guild. To handle this, I've inserted code that sets all the infractions to inactive and cancels all related infraction tasks (in the case of temporary infractions) when issuing an unban or unmute command. A note will be added to the mod_log embed to notify us as well.
2019-09-14Fixes all URLs in the Site cog.Gravatar Leon Sandøy-6/+6
This changes URLs for stuff like FAQ, rules, and the Asking Good Questions page to fit the Django format.
2019-09-14Don't allow tag invocations in #checkpoint.Gravatar Leon Sandøy-6/+7
There was a bug which would permit tag invocations here, because these were triggered by an error handler on CommandNotFound. This commit prevents that from being possible.
2019-09-14Allow multiple words for !otn aGravatar kosayoda-4/+8
2019-09-14Add more_itertools as a dependencyGravatar kosayoda-21/+31
2019-09-14Nuking the Roles.developer role.Gravatar Leon Sandøy-4/+2
We're not really using this, we're using Roles.verified. This provides superiour readability, and there's no reason we should use two instead of just one. I also added a comment to clarify that this role represents the Developers role on pydis.
2019-09-14Remove duplicate members passed into team creation commandGravatar kosayoda-0/+3
2019-09-14Add more information to team creation messagesGravatar kosayoda-4/+10
2019-09-14Make ResponseErrorCode handle non-JSON responseGravatar Sebastiaan Zeeff-6/+18
The previous commit assumed the API respone to always be JSON. This leads to issues when that is not the case, such as when the API is completely unreachable (text/html 404 response). Updated the ResponseErrorCode exception to account for that and updated the moderation util `post_infraction` to reflect that.
2019-09-14We now also detect bot tokens outside quotes.Gravatar Leon Sandøy-2/+0
Previously, the regex to detect tokens would only trigger on messages where the token was inside of single or double quotes. This commit changes this so that we look for bot tokens regardless of context.
2019-09-14Adds a !nominees alias.Gravatar Leon Sandøy-0/+8
This invokes the `!nomination list` command, showing all currently nominated users.
2019-09-14Improvements to the Wolfram cog.Gravatar Leon Sandøy-7/+27
This commit adds clearer error messages for all the errors produced by the Wolfram cog if the API key is missing in the config, or if the key isn't valid anymore. It also humanizes the timedelta returned in the error users get when they run out their cooldown. Instead of telling them they need to wait 84000 seconds, it will now tell them they need to wait 23 hours, 59 minutes ...
2019-09-14Make 'post_infraction' catch the right exceptionGravatar Sebastiaan Zeeff-11/+17
The internal 'api' of our API client has changed: It raises a custom RespondeCodeError instead of an `aiohttp.ClientError` when an API was not successful. I updated this utility function to catch the right exception and added handling for unknown users by notifying the user of that problem directly.
2019-09-14Add API response dict to ResponseCodeErrorGravatar Sebastiaan Zeeff-8/+14
The ReponseCodeError held a reference to `aiohttp.ResonseObject` to make sure the response data was available. However, the response data is not actually included in the Response Object, but needs to be awaited. Unfortunately, the ResponseCodeError is usually inspected after the connection has been closed, triggering a ClientConnectionError when the data was retrieved. I solved this by adding the awaited reponse data directly to our custom exception by awaiting the response.json() before raising the exception.
2019-09-13Add error handlers for more command exceptionsGravatar MarkKoz-5/+10
MissingPermissions, CheckFailure, DisabledCommand, and CommandOnCooldown will now have a simple message logged. * Log BotMissingPermissions and remove sending missing permissions as a message
2019-09-13Fix one-off error in the !clean commandGravatar Sebastiaan Zeeff-1/+2
https://github.com/python-discord/bot/issues/413 The message indexing phase of the `!clean` did not account for the presence of the invocation message, resulting in a one-off error in the amount of messages being indexed. Fixed it by adding one to the amount of messages we index from the message history. Closes #413
2019-09-13Fix bugs and inconsistencies in moderation cogGravatar Sebastiaan Zeeff-154/+149
Recent changes and updates to the moderation cog introduced some inconsistencies that were causing bugs or differences in behavior between very similar commands. I've remedied the problems by: - Consistently making sure we stop if a post_infraction API call fails; - Factoring out the check for active infractions to a utility function; - Updating commands that expected a pre-migration API response format. In addition, I've also added function annotations.
2019-09-12Update bot cog with recent changes.Gravatar Sebastiaan Zeeff-2/+4
The bot cog was not updated with recent changes to our community, so I've: - Updated the links in the about embed to GitHub; - Added help-6 and help-7 to the codeblock detection.
2019-09-12Add help-6 and help-7 to constantsGravatar Sebastiaan Zeeff-0/+4
We never added channel IDs for the new help channels to the constants after adding them, so I'm adding them in.
2019-09-12Fix AntiSpam incorrectly invoking tempmute.Gravatar Sebastiaan Zeeff-2/+5
https://github.com/python-discord/bot/issues/400 The AntiSpam punish method incorrectly invoked the tempmute command, as it provided an unconverted duration argument. Since direct invocation of commands bypasses converters, the conversion of the duration string to a datetime object is now done manually. Closes #400
2019-09-12Fixed incorrect API request field in superstarifyGravatar Sebastiaan Zeeff-1/+1
https://github.com/python-discord/bot/issues/409 The superstarify cog specified an incorrect infraction type in the API request in the on_member_join event listener. I've fixed it by giving it the correct infraction type, 'superstar'. closes #409
2019-09-12Fixed AntiSpam cog reload bugGravatar Sebastiaan Zeeff-6/+3
https://github.com/python-discord/bot/issues/411 The AntiSpam code suffered from a bug where the attribute self.muted_role was not defined after reloading the cog. The bug was caused by the cog setting the attribute in on_ready instead of directly in __init__. Fixed by setting the attribute in the __init__. Closes #411
2019-09-03Remove pydocstyle pinning now that flake8-docstrings is fixedGravatar sco1-145/+146
2019-09-03Use pipenv lint script for pre-commit hookGravatar S. Co1-10/+8
2019-09-03Update contrib doc for allowing edits from maintainersGravatar S. Co1-0/+3
2019-08-26Do not send log messages below DEBUG to the site.Gravatar Johannes Christ-6/+14
2019-08-23Changing deleted messages log to point at staff-subdomainGravatar Sebastiaan Zeeff-1/+2
2019-08-23Changing logging interpolation style to f-stringsGravatar Sebastiaan Zeeff-4/+3
2019-08-16Incorporating Mark's feedback on return annotationsGravatar Sebastiaan Zeeff-11/+15
2019-08-16Kaizen: Change all string concats to f-stringsGravatar Sebastiaan Zeeff-7/+7
2019-08-16Adding missing function annotationsGravatar Sebastiaan Zeeff-14/+14
2019-08-15Updating role sync tests for position and adding tests for deletion detectionGravatar Sebastiaan Zeeff-21/+60
2019-08-15Adding support for storing role positions and deleting rolesGravatar Sebastiaan Zeeff-27/+51
2019-08-14Add a site logging handler.Gravatar Johannes Christ-2/+80
2019-08-14Remove fun cogGravatar kosayoda-54/+0
2019-08-05Blame Mark.Gravatar Johannes Christ-1/+1
2019-08-05Be more helpful.Gravatar Johannes Christ-0/+1
2019-08-05Fix typo in bot/cogs/error_handler.py. Gravatar Johannes Christ-1/+1
Originally authored by @MarkKoz. Co-Authored-By: Mark <[email protected]>
2019-08-05Suppress response code errors on tag reinvoke.Gravatar Johannes Christ-1/+3
2019-08-05Finalize error handling.Gravatar Johannes Christ-12/+15
2019-08-05Update code to make use of the new `ResponseCodeError`.Gravatar Johannes Christ-18/+22
2019-08-04Raise specific exception for non-200s.Gravatar Johannes Christ-9/+21
2019-07-28Handle more API status codes.Gravatar Johannes Christ-1/+5
2019-07-28Move error handling to more descriptive `ErrorHandler` cog.Gravatar Johannes Christ-18/+14
2019-07-28Drop user updating from `events` cog.Gravatar Johannes Christ-203/+0