aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Deseasonify: remove `season_override` env varGravatar kwzrd2020-03-21-2/+0
| | | | Unused and no longer relevant.
* Deseasonify: simplify `get_extensions` convenience functionGravatar kwzrd2020-03-21-10/+4
| | | | | | | | | | | | This is a little tricky, as we only want to walk the modules in each season's package. The pkgutil module provides a convenient function called `walk_packages` which can walk recursively, but this isn't desirable as not all modules are cogs - for example, the modules nested under `evergreen.snakes` are only helpers, and the `setup` function is instead present in the package's `__init__.py`. As we no longer have modules directly in the seasons package, we can remove the `ispkg` check.
* Deseasonify: improve `get_seasons` convenience functionGravatar kwzrd2020-03-21-9/+10
|
* Merge master into seasonal-purgeGravatar kwzrd2020-03-21-51/+454
|\ | | | | | | | | Most importantly this adds the Python 3.8 bump, plus unrelated features merged in the meantime.
| * Merge pull request #380 from python-discord/gitignore-dataGravatar scragly2020-03-21-0/+1
| |\ | | | | | | Add `data` persistence directory to .gitignore
| | * Add `data` persistence directory to .gitignoreGravatar kwzrd2020-03-21-0/+1
| |/
| * Merge pull request #250 from Suhail6inkling/battleshipsGravatar S. Co12020-03-20-0/+444
| |\ | | | | | | Battleships Game
| | * Merge branch 'master' into battleshipsGravatar S. Co12020-03-20-541/+1897
| | |\ | | |/ | |/|
| * | Merge pull request #373 from python-discord/python38Gravatar Sebastiaan Zeeff2020-03-19-51/+9
| |\ \ | | | | | | | | Bump Python version to 3.8
| | * \ Merge branch 'master' into python38Gravatar Sebastiaan Zeeff2020-03-19-1/+555
| | |\ \ | | |/ / | |/| |
| | * | CI: bump Ubuntu image to 18.04Gravatar kwzrd2020-03-08-1/+1
| | | |
| | * | CI: bump Python to 3.8Gravatar kwzrd2020-03-08-1/+1
| | | |
| | * | Docker: bump Python to 3.8Gravatar kwzrd2020-03-08-1/+1
| | | |
| | * | Pipenv: bump Python to 3.8 & re-lockGravatar kwzrd2020-03-08-48/+6
| | | |
| | | * Battleships - change hard-coded strings in subcommandGravatar Suhail6inkling2020-03-20-2/+2
| | | | | | | | | | | | Co-Authored-By: Karlis S. <[email protected]>
| | | * Battleships - alter positioning of some commentsGravatar Suhail2020-03-05-5/+10
| | | |
| | | * Applied suggestions from code review for BattleshipsGravatar Suhail2020-03-01-18/+60
| | | |
| | | * Applied suggestions from code review for BattleshipsGravatar Suhail2020-02-07-199/+209
| | | |
| | | * Merge branch 'master' into battleshipsGravatar Suhail2020-02-06-1639/+3088
| | | |\
| | | * | Post results and boards to initial channelGravatar Suhail2019-08-05-6/+34
| | | | |
| | | * | Battleships GameGravatar Suhail2019-08-05-0/+359
| | | | |
* | | | | Deseasonify: define all seasons in one placeGravatar kwzrd2020-03-21-129/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Defining seasons in seasonal packages' __init__.py files made more sense when extensions were strictly tied to seasons. It introduces an annoying circular dependency where a seasonal package must be imported in order for the __init__.py file to run and register the season, but it also imports SeasonBase from the parent directory so that it can inherit from it. I have made the decision to scrap the seasonal __init__.py files, and instead define all seasons directly under SeasonBase. The classes are no longer scattered around, we remove the above mentioned import problem, and everything is more transparent and easier to digest.
* | | | | Deseasonify: improve branding embedGravatar kwzrd2020-03-19-15/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves both the visual embed, and the code used to generate it. We'll now only display active months if the current season isn't the evergreen - no reason to list the 12 months. The season's name and avatar will be shown in the author field, as this is more less aggressive and more visually pleasing than using title + thumbnail. The embed will be coloured using the season's colour attr. All values have safe fall-backs for situations where the seasonal assets have failed to load.
* | | | | Deseasonify: turn legacy docstrings into attrsGravatar kwzrd2020-03-19-70/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We no longer use the class docstrings for announcements, and they mostly contain outdated information. Sentences still relevant are used to populate the `description` attr (which shows in the branding embed), the rest is scrapped. The descriptions themselves can still be improved in the future, once we figure out exactly in which direction we want to go with them. The idea of providing a description for each season's branding was originally brought up by neonsea, co-authored below. Co-authored-by: Rasmus Moorats <[email protected]>
* | | | | Deseasonify: add colour attr to seasonal classesGravatar kwzrd2020-03-19-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll use this to colour the branding embed, as it currently looks very plain. Seasons can either provide their own, or just use the default green.
* | | | | Deseasonify: authorize with github tokenGravatar kwzrd2020-03-18-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | It is not critical that a token is provided, as the target repository is public. However, if a token is provided, let's use it.
* | | | | Deseasonify: add github token env varGravatar kwzrd2020-03-18-0/+1
| | | | |
* | | | | Deseasonify: join paths on newlineGravatar kwzrd2020-03-18-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | We're now presenting a lot more information (paths vs only filenames previously), so visually this works better.
* | | | | Deseasonify: extend in-line documentationGravatar kwzrd2020-03-18-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few extra words about the look-ups being able to fall back on safe values. The comments also introduce extra visual separation between logical steps in the process.
* | | | | Deseasonify: remove excessive info embed informationGravatar kwzrd2020-03-18-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we were showing the entire queue of coming-up icons. As we're now showing full paths (rather than just filenames), this creates a lot of visual clutter that is unnecessary. It's not critical to know in which order the icons will be cycled, as there's no way for us to affect it anyway. This list of all available icons is still displayed above. The information about configured cycle frequency goes in the footer, if we're cycling.
* | | | | Deseasonify: refer to bot icons as avatarsGravatar kwzrd2020-03-18-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is an annoying collision in the "server icon" vs "bot icon" nomenclature, so I made the decision to always refer to the bot's image as avatar. This choice is already visible through the module, we only need to adjust the actual filename that we're looking for. The filenames will be adjusted in the branding repository.
* | | | | Deseasonify: make asset filenames module constantsGravatar kwzrd2020-03-18-7/+11
| | | | | | | | | | | | | | | | | | | | Less error-prone; easier to adjust.
* | | | | Deseasonify: fallback on evergreen on incomplete brandingGravatar kwzrd2020-03-18-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation would simply ignore assets not present in the current season's directory. On the condition that at least one asset is missing, and the current season is not the evergreen, we also poll the evergreen directory, and use it as fallback. This behaviour is shielded such that we only make the extra API call if there is a missing asset, i.e. if there is something to be gained.
* | | | | Deseasonify: keep track of `path` on github filesGravatar kwzrd2020-03-18-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the banner and avatar assets will always have the same filename, we need their full paths to differentiate between assets of different seasons. Rather than introducing more complexity to the `pretty_files` function and deconstructing the download urls, we can just store the path as provided by the API. We also now print the `path` instead of showing bools in the status embed, as just the fact that there is some banner is not enough information - we want to know which season's banner has been picked up during refresh.
* | | | | Deseasonify: allow `set` to take multi-word argsGravatar kwzrd2020-03-17-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | We do not have any multi-word seasons at the moment, but there is no reason to restrict the command to just one word.
* | | | | Deseasonify: improve `SeasonBase` docstring wordingGravatar kwzrd2020-03-17-2/+2
| | | | |
* | | | | Deseasonify: relax type annotationGravatar kwzrd2020-03-15-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Asyncio's sleep will accept both, and we default to an int, so might as well not break our own promise.
* | | | | Deseasonify: remove fragile attr dependency in `seasonal_task`Gravatar kwzrd2020-03-15-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Importing the bot instance will allow us to safely access the `wait_until_ready` method without having to make fragile assumptions about the arguments passed to the decorated method. Although still not perfect, this feels a lot cleaner and safer than the previous approach.
* | | | | Merge branch 'master' into seasonal-purgeGravatar kwzrd2020-03-15-1/+557
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This merges the newly added help cog. Resolve slight conflict in the __main__ module caused by the the master branch still assuming the presence of the legacy season manager cog.
| * | | | Merge pull request #371 from ks129/helpGravatar S. Co12020-03-13-1/+555
| |\ \ \ \ | | |/ / / | |/| | | Added Python bot help command to SeasonalBot
| | * | | Merge branch 'master' into helpGravatar S. Co12020-03-13-452/+917
| | |\ \ \ | | |/ / / | |/| | |
| | * | | (Help): Comments CleanupGravatar ks1232020-03-13-13/+0
| | | | |
| | * | | (Help): Removed unnecessary comments about changesGravatar ks1232020-03-10-8/+0
| | | | |
| | * | | (Help): Added `Icons` class to constant, added `questionmark` to there, ↵Gravatar ks1232020-03-10-2/+5
| | | | | | | | | | | | | | | | | | | | reverted icon removal in `.help` command.
| | * | | (Help): Added cog loading to __main__.pyGravatar ks1232020-03-07-0/+1
| | | | |
| | * | | (Help): Added unloading block in cogs loadingGravatar ks1232020-03-07-1/+1
| | | | |
| | * | | (Help): Made modifications to original code to make this working in ↵Gravatar ks1232020-03-07-10/+26
| | | | | | | | | | | | | | | | | | | | SeasonalBot, marked them down with comments and fixed docstrings formatting for linting.
| | * | | (Help): Added information comment to top of fileGravatar ks1232020-03-07-0/+1
| | | | |
| | * | | Copy-pasted help command content from Python botGravatar ks1232020-03-07-0/+554
| | | | |
* | | | | Deseasonify: move the branding module from seasons to bot directoryGravatar kwzrd2020-03-15-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | It makes more sense for it to be positioned alongside other core bot features.