- Tested Submission.count descriptor
- Tested Submission.clear_other_votes
- Expanded Submission.advance testing to include exceptions, Submission
.active, Submission.completed and Submission.voting
- Changed db model __repr__ implementations to use f-strings
- Fixed Submission.update force kwarg not implemented.
- Small formatting changes, new TODO, noinspection on protected access
- Votes setter now removes duplicate keys (maintains order)
- Removed 'aiosqlite' from Pipfile general package requirements
- As well as other possible flaws in various functions of the bot's
operation.
- Fixed inactive prematurely closed Period's showing their final state
instead of Finished.
- Periods closed improperly through the 'close' command were not being
shown properly through the 'status' command.
- Fixed error in Submission state checking in on_message handling.
- Added embed support to 'close' command message responses.
To be honest, the checks are sort of randomly placed how I wanted them.
There is no true rhyme or reason to the logic implemented here, but it
really shouldn't matter anyways - it will do the job.
Also:
- Removed emotes from some of the error messages.
- Changed how emotes were placed into the leaderboard slightly
- Moved around TODO strings into proper files and added more.
- Corrected main.py cog loading references.
- Improved ContestBot.reject with message references and used built-in
delete_after keyword argument.
- Minor docstring/light formatting
Implements the status command, creating a new Submission.permission_explanation
function in the process. Also changes the leaderboard command's embed
formatting slightly.
Since I'm not good at complex SQLAlchemy syntax and database querying
through SQL or the ORM, I'm simply using a descriptor to update the
count column everytime votes is modified.