aboutsummaryrefslogtreecommitdiffstats
path: root/bot/bot.py (unfollow)
Commit message (Collapse)AuthorLines
2018-12-26Address review commentsGravatar Joseph Banks-1/+4
2018-12-26Add a notice to AoC countdown to find out if we are still in the advent of codeGravatar Joseph Banks-0/+4
2018-12-26Fix is_in_advent() functionGravatar Joseph Banks-1/+2
2018-12-06Fix comment typoGravatar Johannes Christ-1/+1
Co-Authored-By: scragly <[email protected]>
2018-12-05Delete parenthesesGravatar sco1-1/+1
2018-12-05Fix leaderboard parsing regex to support twitter handlesGravatar sco1-1/+1
2018-12-05Add daily summary commandGravatar sco1-6/+37
2018-12-05Add daily summary statistics calculationGravatar sco1-2/+40
Frame stats command Remove "stats" adjacent aliases for existing commands to avoid confusion
2018-12-05Send devlog message on season load.Gravatar Scragly-8/+35
2018-12-03Adapt code style according to reviewGravatar ByteCommander-3/+5
2018-12-04Use contextlib.suppress, remove unnecessary `u` prefix.Gravatar Scragly-11/+6
2018-12-03Various fixes from review (squished)Gravatar ByteCommander-3/+4
2018-12-03Split .notifications toggle command into .subscribe and .unsubscribeGravatar ByteCommander-8/+20
2018-12-03Improve countdown status (align to whole 5 minutes, better messages)Gravatar ByteCommander-15/+23
2018-12-03Handle edit errors, tidy model and docsGravatar Scragly-65/+159
2018-12-03Add season announcement supportGravatar scragly-17/+97
2018-12-03Add season element set methods, add server icon change supportGravatar scragly-31/+118
2018-12-03Allow Admin role env setting when debuggingGravatar scragly-1/+1
2018-12-03Cleanup BaseclassGravatar scragly-57/+170
2018-12-02Add private board membership total to embed (#82)Gravatar sco1-2/+6
* Add private board membership total to embed * Fix flake8, description typo
2018-12-02AoC countdown (#81)Gravatar Joseph-2/+131
* Add countdown status and notifications * Remove debug print * flake8 my ass * Import order fixes * while is_in_advent() instead of while True * 2 * 60 => 120 * while is_in_advent() instead of while True in notifier
2018-12-01Fix global lb display to respect ties (#79)Gravatar sco1-3/+8
Update member name regex to properly handle hyphens Remove session cookie from global leaderboard request
2018-12-01Docker: build-base. I love alpine but it's so easy to forget stuff.Gravatar Gareth Coles-1/+1
2018-12-01Docker: Forgot zlib-devGravatar Gareth Coles-1/+1
2018-12-01Docker: Add Pillow depsGravatar Gareth Coles-1/+1
2018-12-01Change name arg into name kwarg to match other usagesGravatar Joseph Banks-1/+1
2018-11-27Add AoC Cog (#66)Gravatar sco1-24/+554
* Add Advent of Code cog * Update leaderboard last updated time when updating the leaderboard Remove unnecessary test command * Shift leaderboard embed build into helper method * Frame global leaderboard command * Split leaderboard entries check into helper method * Refactor commands to support global board * Remove unused leaderboard update, wall off global leaderboard command Hide & short circuit global leaderboard command until implemented Fix faulty logic causing board to be reloaded regardless of the age of the cache * Add help shortstrings * Use command builtin to disable global lb command until implemented * Add AoC global leaderboard parsing * Update pipfile and lock Tweak global lb regex Tweak method names for clarity * Refactor for global leaderboard command Separate Global & Private leaderboards into distinct classes * Add missing header divider * Move token for Joseph * Phrasing We're still doing phrasing, right? * Clarify variable name
2018-11-27Allows you to create Seasons. (#64)Gravatar Leon Sandøy-179/+548
* Allows you to create Season objects which change the bots behavior. For example, a season can determine things like the avatar, the nickname, and which cogs are loaded. Season automatically changes according to the date range you specify when you create it. * removing some hungarian notation. * Automatic season changes will now always happen at a minute past midnight, no matter when the bot started. * catching dunders in the glob. * Refine Season Creation behaviour and structure. * Added channel and role constants, refactored roles into NamedTuples, added role check decorators from the main bot, and added role checks for the season change feature. Yes this is duplicate code from our main bot, but it will just have to be like that for now until we get a bot core running. * replacing the or with an xor and switching out the assert for a UserWarning * New lockfile * changing discord.py to discord-py to prevent pip bug from putting two of them in our lockfile * fixing flake errors * flake8 * Cleaned everything up, but I seem to have introduced some sort of infinite load loop? o.O * Fixing up all bugs in the halloween cogs. This should be ready for merge now. * Add avatar_path baseclass method for consistency. While making it simpler to add avatar urls in new season extensions, it also allows the avatar resource path to be changed in a single place if needed in future. * Avoid shadowing builtin `object`. * Add debug mode, refine bot user editing on season load. The changing of a bot's username and avatar is heavily ratelimited. While testing, restarting the bot and changing seasons is required, and hitting these limits are typical. Instead, when in debug mode, the avatar isn't set and only the nickname is changed to prevent unnecessary account edit requests. In the case that the rate limit is hit when not in debug mode, there's an added fallback to use the nickname instead. * Add cancel load_seasons task on SeasonManager un/reload. Previously the load_seasons task was loaded and looping forever. Even if the cog was unloaded for some reason, it would still be running. On loading the SeasonManager again, it would create a new load_seasons task, while the old one still existed. Adding the cancellation allows the task to end when the cog is unloaded or reloaded, and will help assist with live code changes during development at a later time where it's possible to reload this extension (perhaps when the pending bot core is implemented). * get_season_class helper, season class attribs, fix admin id Changes `get_season`'s date check to not initialise unwanted classes (to avoid needless loading of tasks which would otherwise cause unexpected behaviour). To do this, defining attributes of season classes have been moved from `__init__` as an instance variable, to the class variable level. This also results in `__init__` not needing to be defined for the `SeasonBase` class, and `super().__init__()` not needing to be called in individual season classes, making things cleaner/simpler for them. Adds a helper function for retrieving a season class and combines two unnecessarily separate if statements. Credits to @MarkKoz for the suggestions. Reverts the admin ID mistakenly changed in a previous commit. * Update bot/seasons/halloween/hacktoberstats.py Co-Authored-By: heavysaturn <[email protected]> * Update bot/seasons/halloween/halloween_facts.py Co-Authored-By: heavysaturn <[email protected]> * No more property in halloweenfacts * Changed all aliases to tuples * Made tokens a seperate namedtuple * Update bot/seasons/halloween/spookyavatar.py Co-Authored-By: heavysaturn <[email protected]>
2018-11-24Fix markdown for further reading linksGravatar SnowyLuma-1/+2
2018-11-20Resolve Flake8Gravatar sco1-6/+9
2018-11-20Add typing context manager where appropriateGravatar sco1-133/+166
Some minor syntax & logic fixes where noticed
2018-11-20Fixing flake8 errors, and making the gif post inside an embed.Gravatar Leon Sandøy-11/+43