aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Use new bot meta methods for set commands.Gravatar scragly2019-12-06-195/+47
|
* Add meta methods to Bot class.Gravatar scragly2019-12-06-1/+97
|
* Fix inaccurate annotations for custom checks.Gravatar scragly2019-12-06-2/+2
|
* Merge pull request #328 from python-discord/aoc-announcement-mention-fixGravatar Sebastiaan Zeeff2019-12-04-8/+58
|\ | | | | Make the daily Advent of Code subscription service actually ping subscribers
| * Unlock AoC role to make announcements actually ping the usersGravatar Sebastiaan Zeeff2019-12-04-7/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Make AoC channel ID configurable for testing environmentsGravatar Sebastiaan Zeeff2019-12-04-1/+1
| | | | | | | | | | | | | | 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.
| * Add context manager to safely unlock role mentionabilityGravatar Sebastiaan Zeeff2019-12-04-0/+23
|/ | | | | | | | | | | | | | | | | | | | 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.
* Merge pull request #305 from python-discord/exclude-draft-prsGravatar Mark2019-12-03-0/+2
|\ | | | | Ignore Draft PRs in .hackstats
| * Merge branch 'master' into exclude-draft-prsGravatar Mark2019-12-03-216/+394
| |\ | |/ |/|
* | Merge pull request #308 from python-discord/dependabot/pip/pillow-6.2.0Gravatar Mark2019-12-03-22/+20
|\ \ | | | | | | Bump pillow from 6.1.0 to 6.2.0
| * | Misc Bug FixesGravatar S. Co12019-12-03-2/+2
| | | | | | | | | | | | * Fix typo in easter riddle type hint * Fix incorrect `PIL.Image` type hint (vs. `PIL.Image.Image`)
| * | Bump pillow from 6.1.0 to 6.2.0Gravatar dependabot[bot]2019-12-03-20/+18
|/ / | | | | | | | | | | | | | | 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]>
* | Fix AOC countdown logic (#317)Gravatar S. Co12019-12-02-4/+22
|\ \ | | | | | | Fix AOC countdown logic
| * | Fix Christmas season loading bugGravatar sco12019-12-02-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Remove hardcoded date from AOC info link embedGravatar S. Co12019-11-30-1/+1
| | | | | | | | | If a date is not specified, the AOC site should redirect to the most recent year.
| * | Fix AOC countdown logicGravatar S. Co12019-11-30-3/+14
| | | | | | | | | | | | | | | 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.
* | | Add envelope reaction on successful AoC join DM dispatch (#324)Gravatar S. Co12019-12-02-0/+3
|\ \ \ | | | | | | | | Add envelope reaction on successful AoC join DM dispatch
| * | | Add envelope reaction if AoC join DM sends successfullyGravatar kwzrd2019-12-02-0/+2
| | | |
| * | | Add envelope emoji constantGravatar kwzrd2019-12-02-0/+1
|/ / /
* | | Cancel season related tasks on cog unload (#320)Gravatar scragly2019-12-03-0/+5
|\ \ \ | | | | | | | | Cancel season related tasks on cog unload
| * | | Delete whitespacesGravatar Matteo Bertucci2019-12-02-1/+1
| | | |
| * | | Cancel season related tasks on cog unloadGravatar Matteo Bertucci2019-12-02-0/+5
|/ / /
* | | Adds the monsterbio command (#303)Gravatar S. Co12019-12-01-50/+142
|\ \ \ | | | | | | | | Adds the monsterbio command
| * \ \ Merge branch 'master' into monster_bioGravatar S. Co12019-12-01-1/+1
| |\ \ \ | |/ / / |/| | |
* | | | Reword the aoc join command brief description to make behaviour… (#319)Gravatar S. Co12019-12-01-1/+1
|\ \ \ \ | |_|/ / |/| | | Reword the aoc join command brief description to make behaviour more obvious.
| * | | fix line length in command `.aoc join`Gravatar decorator-factory2019-12-01-1/+1
| | | |
| * | | Fix cmd annotationGravatar decorator-factory2019-12-01-1/+1
|/ / / | | | | | | Fix the `brief` argument for `.aoc join` to make its behaviour more obvious.
| * | Merge branch 'master' into monster_bioGravatar S. Co12019-11-30-148/+163
| |\ \ | |/ / |/| | Relock
* | | Update icon path for 2019 festive season (#316)Gravatar S. Co12019-11-30-1/+1
|\ \ \ | | | | | | | | Update icon path for 2019 festive season
| * | | Update icon path for 2019 festive seasonGravatar kwzrd2019-11-29-1/+1
|/ / /
* | | Adding the runner icon to the rotation.Gravatar Leon Sandøy2019-11-28-0/+1
| | | | | | | | | | | | https://github.com/python-discord/branding/pull/37
* | | Merge pull request #315 from python-discord/announcement-flagGravatar Leon Sandøy2019-11-28-4/+5
|\ \ \ | | | | | | | | Default seasons to not send announcements
| * \ \ Merge branch 'master' into announcement-flagGravatar Leon Sandøy2019-11-28-2/+3
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request #313 from eivl/AoC/current-year-fixGravatar Sebastiaan Zeeff2019-11-28-2/+3
|\ \ \ \ | | | | | | | | | | Advent of Code year binds to datetime instead of a magic number
| * | | | Add env var support for Advent of Code year specificationGravatar S. Co12019-11-25-1/+1
| | | | | | | | | | | | | | | To assist with debugging
| * | | | Update leaderboard IDGravatar S. Co12019-11-25-1/+1
| | | | |
| * | | | year binds to datetime instead of a magic numberGravatar Eivind Teig2019-11-18-1/+2
| | | | |
| | * | | Default seasons to not send announcementsGravatar S. Co12019-11-25-4/+5
| |/ / / |/| | |
* | | | Add the new blinky server guild icon (#314)Gravatar S. Co12019-11-25-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Add the new blinky server guild icon Co-authored-by: Deniz <[email protected]>
| * | | | Add the new blinky server guild iconGravatar Deniz2019-11-25-0/+1
|/ / / /
* / / / Relock to d.py 1.2.5 due to API breaking change for emoji.Gravatar scragly2019-11-19-101/+117
|/ / /
* | | Merge pull request #311 from kwzrd/update-icon-constantGravatar Leon Sandøy2019-11-17-4/+6
|\ \ \ | | | | | | | | Add two new icons to icon constant
| * | | Change off-season logo size to 512Gravatar kwzrd2019-11-02-6/+6
| | | |
| * | | Add two new icons to icon constantGravatar kwzrd2019-11-02-0/+2
|/ / /
* | | Hotfix end date of HacktoberGravatar Sebastiaan Zeeff2019-10-31-1/+1
| | | | | | | | | | | | | | | 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.
| * | Refactor random generator to use a local instance rather than systemGravatar S. Co12019-11-30-11/+15
| | |
| * | Readd cog init & rename *.py fileGravatar S. Co12019-10-24-0/+3
| | |
| * | Merge branch 'master' into monster_bioGravatar quizzicaltrains2019-10-19-1/+1
| |\ \ | |/ / |/| |
* | | Hacktober issue finder fix - divide count by 100 (#301)Gravatar scragly2019-10-20-1/+1
|\ \ \ | | | | | | | | Hacktober issue finder fix - divide count by 100
| * \ \ Merge remote-tracking branch 'origin/hacktober-issue-finder' into ↵Gravatar vivax37942019-10-12-17/+927
| |\ \ \ | | | | | | | | | | | | | | | hacktober-issue-finder