Commit Graph

18 Commits

Author SHA1 Message Date
Xevion
1dc9c7d435 Implemented generic command error handling
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
2021-02-18 06:07:40 -06:00
Xevion
8164d528a5 Used Embeds in all messages sent
Additionally, helper methods and new constants for Embed colors have
been added to simplify this process of sending messages with embeds.
Colors have been chosen, too.

Extra: The ContestCommandsCog has been given a
name kwarg for the 'help' command to display it better.
2021-02-18 05:11:06 -06:00
Xevion
5a4da4cec0 Implement simple 'status' command
Implements the status command, creating a new Submission.permission_explanation
function in the process. Also changes the leaderboard command's embed
formatting slightly.
2021-02-18 04:31:45 -06:00
Xevion
95a87cb6dd Implemented 'leaderboard' command
This takes use of the previous commit's changes: the Submission.count
column.
2021-02-18 04:07:59 -06:00
Xevion
1b777a3689 Split ContestCog into ContestCommandsCog and ContestEventsCog
expected_react_deletions and expected_msg_deletions were moved into bot
.py
There may be more edits included in this that I cannot see.
Added docstrings to get_message and fetch_message
2021-02-18 01:35:33 -06:00
Xevion
39b0dc9a96 Enforce Period.states for on_raw_reaction_add
New submissions are also properly enforced via Period.states, in-case
one makes it passed message permissions. Added helper reject method
2021-02-17 22:55:31 -06:00
Xevion
7427763b57 Implement Submission.update and get/fetch message helper functions
Added and implemented helper functions for getting and fetching messages
given a payload's integer channel and message IDs.
Implemented Submission.votes list modifications and Submission.update in
 code (tested with real bot)
 Committed constants.py containing ReactionMarker used in models.py
2021-02-17 05:18:25 -06:00
Xevion
35c7d4fb15 Simplify PermissionOverwrite, refactor on_raw_reaction_add's upvote detection 2021-02-17 02:37:04 -06:00
Xevion
0b8aaec332 actually implement message rejection for attachment filtering, TODO'd warning helper func 2021-02-15 05:25:33 -06:00
Xevion
c234487302 minor typehint fixes, make optional arg into optional kwarg, add additional TODOs, add basic attachment filtering 2021-02-15 05:22:22 -06:00
Xevion
d99be7db9d use payload known params instead of cached message, implement raw_bulk_message_deletion, on_raw_reaction_clear, on_raw_reaction_clear_emoji, helpers.is_upvote for better upvote emote checking 2021-02-15 03:43:00 -06:00
Xevion
69f1f42698 lots of TODO ideas, plan for advance command error handling, leaderboard command idea 2021-02-14 01:49:48 -06:00
Xevion
2178a3ec99 Move Submission votes count logic into model, add improved verification system, add verification that the bot is always reacting to the message (on every reaction add/removal) 2021-02-14 01:48:56 -06:00
Xevion
a5116dc093 finished basic reaction logic/protections and vote tallying, formatting & session.query typehints, correct advance command permissions more 2021-02-14 01:23:00 -06:00
Xevion
28d7768340 add permission/cooldown checks, implement permission setting logic, fix state not being advanced, fix guild.submission disparity and use proper typehinting to catch errors like this 2021-02-13 18:31:38 -06:00
Xevion
ca10389aea fully re-implement contest cog with sqlalchemy, begin planning proper period logic in TODOs 2021-02-13 08:28:57 -06:00
Xevion
ea825b9a30 switch to pipfile, new tests 2021-02-12 23:19:35 -06:00
Xevion
89b16fdc04 refactor contest to bot folder, work on generic sqlite update query generator, work on new submissions/voting period logic commands, get away from get_submission_channel 2021-02-12 17:46:46 -06:00