| Commit message (Collapse) | Author | Age | Lines |
| ... | |
| | |
|
| |
|
|
|
| |
We're no longer going to use a two-channel setup for this event, as we
don't want to split the event community into two, staff and non-staff.
|
| |
|
|
|
|
| |
This helper function was only being used in one spot and did not factor
out any logic. I've removed the helper function to just create the embed
where it's needed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've rewritten the Advent of Code leaderboard logic. Unfortunately,
nearly all of the changes made are interrelated, meaning that they've
ended up in the same commit.
To add a bit of structure to the extension, I've chosen for a subpackage
structure instead of a single file structure.
The biggest changes:
- Whether or not you get a join code for the staff leaderboard will now
be determined by looking for the Helpers-role.
- The Python Discord Leaderboard now includes all boards, including the
staff leaderboard. This is one event.
- Redis is now used to set a cache expiry period. This means that our
code does not have to check for cache staleness; Redis will do that
for us.
- The period "fetching" task has been removed. We now fetch solely when
the data is needed to prevent putting unnecessary stress on the Advent
of Code website.
- The option to display the Global Leaderboard within Discord has been
removed. Rather, we now link to the website. This simplified the code
for now, although we could add it back later.
- An additional command, `.aoc refresh`, has been added to allow Admins
and the Events Lead to force the cache to be invalidated. This should
be done sparingly to not overburden the AoC website.
- I've also made sure that the daily notification task actually pings
the notification role by setting the `allowed_mentions` kwarg.
|
| |
|
|
|
|
| |
As the Advent of Code file was getting massive, I've removed the old
single-file based extension as I'm going to replace it with a partially
rewritten subpackage-based extension.
|
| |
|
| |
Co-authored-by: Joe Banks <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This fixes a new lint error (F541) introduced by flake8 3.8.
|
| |
|
|
| |
explicit encoding
|
| |
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The previous system required each extension's `setup` func to log
that the cog was loaded. This leads to inconsistent messages all
trying to convey the same thing, variable logger names in the output
file are difficult to read, and several extensions were not logging
at all.
By logging directly in the `add_cog` method, we reduce code repetition,
ensure consistent format, and remove the responsibility to remember
that a log should be made.
|
|
|
It is believed that this is now a more logical name for the package,
as extensions no longer bind to seasons.
Internally, packages are still grouped into seasonal sub-packages.
There are quite a few, and it makes sense to group them by a common
theme that inspired their functionality.
|