| Commit message (Collapse) | Author | Lines |
|
|
|
|
|
The Advent of Code cog has a subscription system that allows members
to subscribe to a daily notification indicating the puzzle for that
day has become available. However, we introduces a more stringent
role mentionability policy that meant that the mentions did not
actually ping the members subscribed.
To solve this, I've made sure that the bot unlocks the role before
making the announcement using the `unlock_role` context manager. This
also means the role is automatically unlocked after the message is
sent.
In addition, I noticed that Seasonalbot was consistently announcing
the puzzle about 0.5 seconds early. I've correct this by adding a
second to the sleep delay. In addition, the bot now verifies that the
puzzle is available using a small HEAD request. While this does send
a request to the AoC server, it prevents multiple users from sending
unnecessary requests by following our link before the puzzle is
actually available.
|
|
I have made the `#advent-of-code` channel id configurable using the
same environment variable technique used for other settings. This
makes it easier to test features that rely on this channel in a test
environment.
|
|
Currently, our regualar roles are not mentionable by default. This
means that features that rely on roles to keep track of users that
want to receive announcements, like the AoC Day Countdown, don't
actually ping the users subscribed to it. The solution is obviously
that the bot should unlock prior to making the announcement.
However, this is complicated by the fact that there needs to be a
sufficient delay. both between unlocking and sending the message
and between sending the message and locking the role again. If not,
Discord's not done synchronizing across all servers and some users
won't receive a ping.
To make this easier, I have implemented a context manager that takes
an instance of `discord.Role` and an optional `delay` (default: 5s)
that yields a context in which the role is unlocked. This context
manager also makes sure that the role is locked even if an exception
occured within the unlocked context.
|
|
* Fix typo in easter riddle type hint
* Fix incorrect `PIL.Image` type hint (vs. `PIL.Image.Image`)
|
|
Bumps [pillow](https://github.com/python-pillow/Pillow) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/6.1.0...6.2.0)
Signed-off-by: dependabot[bot] <[email protected]>
|
|
The `SeasonBase.is_between_dates()` method assumes that the season's start and end dates are in the same year, which works for every season except for Christmas, since its end date is New Year's Day.
To fix this, the christmas.end() method has been overloaded to return the next year instead of the current year.
This does not affect checks made on 1 January of the next year, as the season's start date will guard against this.
|
|
|
|
|
|
|
|
|
|
|
|
Fix the `brief` argument for `.aoc join` to make its behaviour more obvious.
|
|
If a date is not specified, the AOC site should redirect to the most recent year.
|
|
The current time delta until the next AOC event assumes that the next event is next year's. While this is was a safe assumption when written, since the command would not be available until the season is loaded on December 1st, it provides an incorrect answer if the season is loaded prior. The logic has been adjusted to return the closest December 1st that is not in the past.
The feedback string has also been adjusted to give hours remaining if we're less than a day away from the event starting.
|
|
|
|
|
|
https://github.com/python-discord/branding/pull/37
|
|
|
|
To assist with debugging
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The command is mostly used to calculate the time left in the DO's Hacktoberfest event we are participating in. However, the current end datetime was specified as a day before the actual end of the event. This hotfix remedies that for the end-calculation only.
This code should get a proper fix to rework the entire logic to use the correct start and end datetimes for DO's event.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-Authored-By: Kieran Siek <[email protected]>
|
|
Co-Authored-By: Kieran Siek <[email protected]>
|
|
|
|
Co-Authored-By: Kieran Siek <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|