| Commit message (Collapse) | Author | Age | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
explicit encoding
|
|
|
|
|
|
| |
All calls to `wait_until_ready` are replaced with the new event.
To help with static analysis, we annotate `bot` attrs as instances
of our custom SeasonalBot class where necessary.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This way, we can standardize the way Months are shown to both the user
and the developer. Note that if passing a Month member to an f-string,
the `!s` format code must be specified to ensure our __str__ is used.
Co-authored-by: MarkKoz <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the `should_cycle` iterator would signal that it is time
to cycle by yielding True. As per Mark's suggestion, this is adjusted
to yield either None, or ints representing days since last cycle.
This is more transparent, as the daemon can now perform the comparison
against the configured cycle frequency itself, rather than relying
on being fed the correct value from a "black box".
See `_reset_should_cycle` docstring for further clarification.
Co-authored-by: MarkKoz <[email protected]>
|
|
|
|
|
| |
With the 'seasonal-structure' branch being merged in the branding
repository, we can start polling master.
|
|
|
|
|
|
|
| |
After 00af207de3087a41270f216ad86e06ba7dbf9d42, we should ensure that
the month names aren't shown to the user in all caps.
Co-authored-by: MarkKoz <[email protected]>
|
|
|
|
|
|
| |
It is not necessary for these to be coroutines.
Co-authored-by: MarkKoz <[email protected]>
|
|
|
|
|
|
| |
This should be more readable.
Co-authored-by: MarkKoz <[email protected]>
|
|
|
|
|
|
| |
Reduces code duplication.
Co-authored-by: MarkKoz <[email protected]>
|
|
|
|
| |
Co-authored-by: MarkKoz <[email protected]>
|
|
|
|
|
|
|
|
| |
* Capitalize month names
* Add backticks to `sha` attr reference
* Avoid misusing the term 'poll'
Co-authored-by: MarkKoz <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A persistent config file will remember whether the daemon is supposed
to be running, or not. This means that instead of relying on the env
variable, the daemon can be turned on or off "once and for all"
via a command, and will not violate this decision on restart.
This effectively deprecates the `Branding.autostart` env var. It is
believed that having two ways to configure the same thing would
be more confusing than useful. The env var will be removed.
The two helper functions for reading and writing have been implemented
in a generic manner, meaning that should a new config key be added in
the future, the helpers shouldn't require any further adjustments.
Suggested by lemon and scragly.
Co-authored-by: Leon Sandøy <[email protected]>
Co-authored-by: scragly <[email protected]>
|
|
|
|
|
| |
It is not necessary to log all icon paths on each shuffle. Creates
unnecessary visual clutter in the logfile.
|
|
|
|
|
|
|
|
| |
Define commands in the same order in which the cog's docstring lists
them. This shall make it easier to browse or look up implementations.
The commands are defined roughly in the order in which a user would be
expected to use them.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
Since the original `seasons` package is now called just `exts`,
it makes sense to migrate all season-specific definitions out into
a separate module.
This module now contains everything relating to 'new' seasons, i.e.
just branding tooling.
|
|
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.
|