Commit Graph

17 Commits

Author SHA1 Message Date
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
bb28f38fd9 commit constants.py 2021-02-14 01:47:27 -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
e6d001f2b7 add voting reactions method, typehint the rest of the bot.py session.query calls 2021-02-14 01:19:56 -06:00
Xevion
21781d3529 simplify models.py imports, add typehints, add future TODO ideas, add set_votes safety logging method, move and typehint Period.submissions as a List 2021-02-14 01:19:18 -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
1f46a98f37 add guilds to database on connection if not already in database, remove old db.py, switch from query filter_by to simple get by primary key 2021-02-13 08:35:00 -06:00
Xevion
00f5b64f3f fix ambiguous foreign key relationships, Period.state default, fixing back populates 2021-02-13 08:31:09 -06:00
Xevion
ee41885e89 running bot with database, switch to helper function for testing 2021-02-13 08:29:35 -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
5978068e9b add sqlalchemy to bot startup, fix PyCharm typehinting for Session context manager, simplify autocommit and autoclose separate context managers into singular with kwargs 2021-02-13 05:23:12 -06:00
Xevion
c8e0ae1bf2 refactor base ContestBot logic to use new sqlalchemy models, commit exceptions.py 2021-02-13 05:18:34 -06:00
Xevion
91594646c3 simplify period deactivation logic, refactor advance_state logic into check_not_finished wrapper 2021-02-13 05:14:42 -06:00
Xevion
2eb44b56e4 improve models relationships, add state management to Period model 2021-02-13 05:00:20 -06:00
Xevion
7e578fb132 begin switching to sqlalchemy for database management 2021-02-13 03:23:00 -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