aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | | * | | | Refactor how channels and statuses are counted; using Counter() - way cleaner.Gravatar Deniz2020-02-06-35/+17
| | | | | | |
| | | * | | | Remove some a lot of unneccesary newlines that arguably make it harder to readGravatar Deniz2020-02-06-9/+2
| | | | | | |
| | | * | | | Roles cannot return None because everyone has the Developer role by default, ↵Gravatar Deniz2020-02-06-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and non-verified users cannot use this command.
| | | * | | | No longer check if every role is @everyone; just skip the first element in ↵Gravatar Deniz2020-02-06-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the list
| | | | | * | Remove call to delete reminder, as ensure method already does it.Gravatar scragly2020-02-23-1/+0
| | | | | | |
| | | | | * | Check reminder user and channel before send and schedule.Gravatar scragly2020-02-23-17/+38
| |_|_|_|/ / |/| | | | |
* | | | | | Don't set project log level so it uses root level.Gravatar scragly2020-02-23-1/+1
| |/ / / / |/| | | |
* | | | | Change defcon log levels from warning to infoGravatar Joseph Banks2020-02-21-2/+2
| | | | |
* | | | | Enable logging warnings to SentryGravatar Joseph Banks2020-02-21-3/+12
| | | | |
* | | | | Merge pull request #733 from kwzrd/unittest-antispam-rulesGravatar Sebastiaan Zeeff2020-02-21-178/+634
|\ \ \ \ \ | | | | | | | | | | | | Add test cases for antispam rules, fix bug in attachments rule & test
| * \ \ \ \ Merge branch 'master' into unittest-antispam-rulesGravatar Sebastiaan Zeeff2020-02-21-658/+494
| |\ \ \ \ \ | |/ / / / / |/| | | | |
* | | | | | Merge pull request #762 from python-discord/setup-sentry-sdkGravatar Mark2020-02-21-145/+40
|\ \ \ \ \ \ | | | | | | | | | | | | | | Sentry SDK setup
| * | | | | | Attach jump_to url to the eventGravatar Joseph Banks2020-02-21-0/+8
| | | | | | |
| * | | | | | Use push_scope instead of configure_scopeGravatar Joseph Banks2020-02-21-2/+2
| | | | | | |
| * | | | | | Use log.error instead of capture_exceptionGravatar Joseph Banks2020-02-21-2/+2
| | | | | | |
| * | | | | | Remove AIOHTTP integration from Sentry since it is intended for AIOHTTP servers.Gravatar Joseph Banks2020-02-21-3/+1
| | | | | | |
| * | | | | | Remove tests for custom bot logGravatar Joseph Banks2020-02-21-62/+2
| | | | | | |
| * | | | | | Add basic sentry usage for command errors giving user information and ↵Gravatar Joseph Banks2020-02-21-85/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | command context.
| * | | | | | Attach extra information on a command errorGravatar Joseph Banks2020-02-21-1/+13
| | | | | | |
| * | | | | | Set BOT_SENTRY_DSN environment variable for testsGravatar Joseph Banks2020-02-21-1/+1
| | | | | | |
| * | | | | | Implement basic Sentry SDK usageGravatar Joseph Banks2020-02-21-2/+14
|/ / / / / /
* | | | | | Merge pull request #761 from python-discord/loggingGravatar Joseph2020-02-20-124/+81
|\ \ \ \ \ \ | | | | | | | | | | | | | | Refactor logging setup to be more explicit and cleaner.
| * | | | | | Update flake8-annotations to v2.0.Gravatar scragly2020-02-20-10/+51
| | | | | | |
| * | | | | | Change to explicit logs, remove logmatic.Gravatar scragly2020-02-20-160/+76
|/ / / / / /
* | | | | | Merge pull request #753Gravatar S. Co12020-02-19-16/+38
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Show created date and duration in expired infraction log
| * | | | | Merge branch 'master' into feat/frontend/b685/expired-infraction-log-durationGravatar S. Co12020-02-19-1/+1
| |\ \ \ \ \ | |/ / / / / |/| | | | |
* | | | | | Change snekbox api url to internal docker domain.Gravatar scragly2020-02-17-1/+1
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NGINX has been dockerised, and proxy passes now reference internal container domains rather than referencing host or external domains. This will have a few extra benefits: - Less external factors involved for resolving the service address - Can work with the same address on development envs - Snekbox can be closed down entirely so it's inaccessible from external networks.
| * | | | Moderation: show avatar in infraction deactivation logGravatar MarkKoz2020-02-19-0/+5
| | | | |
| * | | | Moderation: show member as a mention in expired infraction logGravatar MarkKoz2020-02-15-1/+1
| | | | |
| * | | | Moderation: show correct actor in expired infraction logGravatar MarkKoz2020-02-15-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | The bot user was always being used instead of using the actor field of the infraction.
| * | | | Moderation: add creation date & duration to expired infraction logGravatar MarkKoz2020-02-15-1/+7
| | | | | | | | | | | | | | | | | | | | Closes #685
| * | | | Utils: refactor format_infraction_with_duration and support absolute valGravatar MarkKoz2020-02-15-13/+23
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The absolute value is useful for preventing negative values in the case that date_to is in the past relative to date_from. * Add an absolute parameter to take the absolute value of the duration * Rename expiry to date_to * Rewrite the docstring
* | | | Merge pull request #752 from python-discord/infr-edit-permanent-fixGravatar Mark2020-02-14-2/+5
|\ \ \ \ | | | | | | | | | | Stop scheduling expiration of permanent infractions on edit
| * | | | Stop scheduling expiration of permanent infractions on editGravatar Sebastiaan Zeeff2020-02-14-2/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/python-discord/bot/issues/751 The infraction edit command defined in `bot.cogs.moderation.management` contained a bug causing it to attempt to schedule an expiration task when turning a temporary infraction into a permanent infraction. Since the "expires_at" field of a permanent infractions is `None`, this caused an exception to occur in the scheduler: Traceback (most recent call last): File "/bot/bot/cogs/moderation/scheduler.py", line 415, in _scheduled_task expiry = dateutil.parser.isoparse(infraction["expires_at"]).replace(tzinfo=None) File "/usr/local/lib/python3.7/site-packages/dateutil/parser/isoparser.py", line 37, in func return f(self, str_in, *args, **kwargs) File "/usr/local/lib/python3.7/site-packages/dateutil/parser/isoparser.py", line 134, in isoparse components, pos = self._parse_isodate(dt_str) File "/usr/local/lib/python3.7/site-packages/dateutil/parser/isoparser.py", line 208, in _parse_isodate return self._parse_isodate_common(dt_str) File "/usr/local/lib/python3.7/site-packages/dateutil/parser/isoparser.py", line 213, in _parse_isodate_common len_str = len(dt_str) TypeError: object of type 'NoneType' has no len() I have solved this by adding a check that makes sure we only schedule an expiration task when the `"expires_at"` field has a truthy value (which all valid datetime strings are) using `if request_data['expires_at']`. IMPORTANT NOTE: While it's tempting to just skip the entire scheduling block for permanent infractions, it's essential to unschedule existing expiration tasks for this infraction as we're changing a temporary infraction to a permanent infraction. This commit closes #751
| * | | Add unit test for newlines antispam ruleGravatar kwzrd2020-02-04-0/+105
| | | |
| * | | Add unit test for duplicates antispam ruleGravatar kwzrd2020-02-04-0/+66
| | | |
| * | | Merge branch 'master' into unittest-antispam-rulesGravatar Joseph2020-02-02-1/+10
| |\ \ \
| * | | | Make RuleTest use ABCMetaGravatar kwzrd2020-02-02-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This will prevent child classes to be instantiated unless they implement all abstract methods, leading to a more descriptive error message.
| * | | | Adjust existing tests to inherit from RuleTest ABCGravatar kwzrd2020-02-02-294/+157
| | | | |
| * | | | Implement RuleTest ABCGravatar kwzrd2020-02-02-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will serve as an ABC for tests for individual rules. The base class provides runners for allowed and disallowed cases, and the children classes then only provide the cases and implementations of helper methods specific to each rule.
| * | | | Adjust multi-line docstrings to prevailing styleGravatar kwzrd2020-01-31-3/+6
| | | | |
| * | | | Refactor msg helper function name to make_msgGravatar kwzrd2020-01-26-25/+25
| | | | | | | | | | | | | | | | | | | | The name msg is less descriptive and creates a needless name conflict in local gen exp.
| * | | | Fix incorrect config key in attachments antispam ruleGravatar kwzrd2020-01-26-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rule was incorrectly printing out the maximum amount of allowed attachments instead of the configured interval. This commit also adjusts the rule's unit test case.
| * | | | Add unit test case for role mentions antispam ruleGravatar kwzrd2020-01-26-0/+66
| | | | |
| * | | | Add unit test case for discord emojis antispam ruleGravatar kwzrd2020-01-26-0/+68
| | | | |
| * | | | Add unit test case for chars antispam ruleGravatar kwzrd2020-01-26-0/+75
| | | | |
| * | | | Add unit test case for burst shared antispam ruleGravatar kwzrd2020-01-26-0/+65
| | | | |
| * | | | Add unit test case for burst antispam ruleGravatar kwzrd2020-01-26-0/+69
| | | | |
| | | | * Add missed signature reformat from reviewGravatar S. Co12020-02-15-1/+4
| | | | | | | | | | | | | | | Co-Authored-By: Mark <[email protected]>
| | | | * Add "cancel" as a reminder delete aliasGravatar S. Co12020-02-15-1/+1
| | | | |