| Commit message (Collapse) | Author | Age | Lines | |
|---|---|---|---|---|
| * | Incidents: avoid lambda check; make regular function | 2020-06-12 | -5/+5 | |
| | | ||||
| * | Incidents: log `event_lock` release | 2020-06-12 | -0/+1 | |
| | | ||||
| * | Incidents: do not process reaction events from bots | 2020-06-12 | -2/+3 | |
| | | ||||
| * | Incidents: implement `process_event` coroutine | 2020-06-12 | -3/+52 | |
| | | | | | | | | | | | | | | | | This contains the main logic for handling reactions and glues all the helpers together. Unfortunately, gracefully handling everything that can go wrong in the process requires quite a lot of code ~ but, at least to me, it seems like this all should now be fairly safe. The idea to await the message delete event before releasing the lock was conceived by Ves, while Mark helped me refine it. Co-authored-by: Sebastiaan Zeeff <[email protected]> Co-authored-by: MarkKoz <[email protected]> | |||
| * | Incidents: implement `make_confirmation_task` method | 2020-06-12 | -0/+15 | |
| | | ||||
| * | Incidents: implement `archive` method | 2020-06-12 | -1/+39 | |
| | | ||||
| * | Incidents: implement reaction listener | 2020-06-12 | -0/+46 | |
| | | | | | See docstring! | |||
| * | Incidents: implement `resolve_message` | 2020-06-12 | -0/+31 | |
| | | | | | | | | See docstring. The exception log is DEBUG level as failure does not necessarily indicate that we have done something wrong. We rely on the API to tell us that the message no longer exists in situations where we have 2 coroutines racing to archive the same message. | |||
| * | Incidents: make `crawl_incidents` smarter | 2020-06-12 | -6/+13 | |
| | | | | | | | | | | | The crawler now avoids making API calls for messages which: * Are not incidents * Already have all signals As a result, we can sleep only after making actual calls. This speeds up the task completion considerable, while also making it lighter on the API. Victory! | |||
| * | Incidents: move `add_signals` to module namespace | 2020-06-12 | -16/+16 | |
| | | | | | | | | | Looks like we'll need quite a few helpers, and I think it's cleaner to keep them at module level. It helps avoid the question of: what do I do if a staticmethod depends on another staticmethod? | |||
| * | Incidents: implement `has_signals` helper | 2020-06-12 | -0/+6 | |
| | | ||||
| * | Incidents: implement `own_reactions` helper | 2020-06-12 | -1/+6 | |
| | | ||||
| * | Incidents: abstract incident checking into a helper method | 2020-06-12 | -24/+14 | |
| | | | | | | | | | | The code is now basically self-documenting, the docstring is no longer necessary. The ultimate goal is to allow `crawl_incidents` to be more smart about which messages need to be passed to `add_signals`, so that it doesn't need to sleep after each message. | |||
| * | Incidents: add `event_lock` for simple event synchronization | 2020-06-12 | -1/+3 | |
| | | ||||
| * | Incidents: only `add_signals` if missing | 2020-06-12 | -2/+10 | |
| | | ||||
| * | Incidents: make `on_message` ignore pinned messages | 2020-06-12 | -0/+5 | |
| | | | | | | This is now necessary as we call the listener ourselves from the crawl task. An already existing, pinned message, can be received. | |||
| * | Incidents: implement & schedule `crawl_incidents` task | 2020-06-12 | -0/+32 | |
| | | | | | | | | | See docstring for further information. This will run on start-up to retroactively add missing emoji. Ratelimit-wise this should be fine, as there should never be too many missing emoji. | |||
| * | Incidents: implement `on_message` listener & guards | 2020-06-12 | -3/+20 | |
| | | ||||
| * | Incidents: implement `add_signals` helper | 2020-06-12 | -2/+6 | |
| | | | | | Looks like it can be static, at least for now. | |||
| * | Incidents: define method stubs for message event handling | 2020-06-12 | -0/+10 | |
| | | ||||
| * | Incidents: define allowed roles and emoji | 2020-06-11 | -1/+5 | |
| | | | | | | | These serve as whitelists, i.e. any reaction using an emoji not explicitly allowed, or from a user not specifically allowed, will be rejected. Such reactions will be removed by the bot. | |||
| * | Merge branch 'origin/master' into kwzrd/incidents | 2020-06-11 | -53/+115 | |
| |\ | ||||
| | * | Merge pull request #995 from python-discord/add-cooldown-channel | 2020-06-11 | -1/+3 | |
| | |\ | | | | | | | Add cooldown channel to config-default.yml | |||
| | | * | Add cooldown to Channels in constants.py | 2020-06-11 | -0/+1 | |
| | | | | ||||
| | | * | Add cooldown channel to EXCLUDED_CHANNELS tuple | 2020-06-11 | -1/+1 | |
| | | | | ||||
| | | * | Add cooldown channel to config-default.yml | 2020-06-11 | -0/+1 | |
| | |/ | ||||
| | * | Fix trailing whitespace in Action file | 2020-06-11 | -1/+1 | |
| | | | ||||
| | * | Create codeql-analysis.yml | 2020-06-11 | -0/+32 | |
| | | | ||||
| | * | Merge pull request #910 from python-discord/bug/backend/906/converter-year-range | 2020-06-10 | -52/+66 | |
| | |\ | | | | | | | Converters: handle ValueError when year for duration is out of range | |||
| | | * | Merge branch 'master' into bug/backend/906/converter-year-range | 2020-06-10 | -1194/+2938 | |
| | | |\ | | |/ | |/| | ||||
| | * | | Merge pull request #988 from python-discord/snekbox-compose | 2020-06-10 | -0/+9 | |
| | |\ \ | | | | | | | | | Add snekbox to the Docker compose file | |||
| | | * \ | Merge branch 'master' into snekbox-compose | 2020-06-10 | -2/+14 | |
| | | |\ \ | | |/ / | |/| | | ||||
| | * | | | Merge pull request #935 from python-discord/bug/mod/932/modlog-ignore-dms | 2020-06-10 | -0/+4 | |
| | |\ \ \ | | | | | | | | | | | ModLog: ignore DMs in the message delete listener | |||
| | | * \ \ | Merge branch 'master' into bug/mod/932/modlog-ignore-dms | 2020-06-10 | -1061/+2576 | |
| | | |\ \ \ | | |/ / / | |/| | | | ||||
| | * | | | | Add Python Atlanta to guild whitelists | 2020-06-09 | -0/+1 | |
| | | | | | | ||||
| | | * | | | ModLog: ignore DMs in the message delete listener | 2020-05-10 | -0/+4 | |
| | | | | | | ||||
| | | | * | | Add snekbox to the Docker compose file | 2020-06-05 | -0/+9 | |
| | | | | | | ||||
| | | | | * | Fix exception message assertions in converter tests | 2020-04-28 | -7/+8 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `msg` arg is for displaying a message when the assertion fails. To match against the exception's message, `assertRaisesRegex` must be used. Since all of the messages are meant to be interpreted literally rather than as regex, `re.escape` is used. | |||
| | | | | * | Use await instead of asyncio.run in converter tests | 2020-04-28 | -28/+27 | |
| | | | | | | ||||
| | | | | * | Remove redundant parenthesis from test values | 2020-04-28 | -19/+19 | |
| | | | | | | ||||
| | | | | * | Test for out of range datetime in the Duration converter | 2020-04-28 | -0/+11 | |
| | | | | | | ||||
| | | | | * | Converters: handle ValueError when year for duration is out of range | 2020-04-25 | -1/+4 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `datetime` objects only support a year up to 9999. Fixes #906 | |||
| * | | | | | Incidents: add #incidents-archive webhook constant | 2020-06-11 | -1/+2 | |
| | | | | | | ||||
| * | | | | | Incidents: add #incidents-archive channel constant | 2020-06-11 | -0/+2 | |
| | | | | | | ||||
| * | | | | | Incidents: create Signal enum & link members with emojis | 2020-06-08 | -0/+10 | |
| | | | | | | ||||
| * | | | | | Incidents: add new emoji constants | 2020-06-08 | -0/+8 | |
| | | | | | | ||||
| * | | | | | Incidents: add incidents module & new ext boilerplate | 2020-06-08 | -1/+17 | |
| |/ / / / | ||||
| * | | | | Merge pull request #983 from python-discord/bug/backend/stats-category-check | 2020-06-07 | -1/+2 | |
| |\ \ \ \ | | | | | | | | | | | Fix AttributeError for category check | |||
| | * \ \ \ | Merge branch 'master' into bug/backend/stats-category-check | 2020-06-07 | -33/+96 | |
| | |\ \ \ \ | |/ / / / |/| | | | | ||||
| * | | | | | Enable the 'redis' / 'aiohttp' Sentry integrations | 2020-06-06 | -1/+7 | |
| | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | This will provide breadcrumbs for these systems in all our Sentry events, if applicable. Closes #989. | |||