Commit Graph

34 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
0e7bd35333 alembic migrations, init & Submissions.vote column 2021-02-14 01:20:22 -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
9e889d8c8c fix poor test formatting, use inheritted TestDatabase class instead for generating guild/period/submission on the fly (working basic tests), update .gitignore for Pipenv lockfile 2021-02-13 09:30:27 -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
7fb9f961b5 first overhaul of tests with new class/sessionmaker;engine/fixture setup 2021-02-13 08:30:13 -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
Xevion
5defafa36e begin refactoring into namedtuple style, add period setup, transition to more modular and safer database state management 2021-02-09 14:32:32 -06:00
Xevion
294b34abe0 fixed bot not clearing old submission rows, fixed bot trying to use database before initialization, forgot to commit in deleted submission handling 2021-02-08 01:13:39 -06:00
Xevion
573d8aa06a automatic deleted submission database updating 2021-02-08 00:49:56 -06:00
Xevion
28c425ba9e complete submission tracking in database, old submission auto deletion 2021-02-08 00:49:23 -06:00
Xevion
b2dc0fdc91 update README to current progress 2021-02-07 14:42:22 -06:00
Xevion
b748db0866 submission channel config command, basic submission filtering 2021-02-07 14:29:15 -06:00
Xevion
9cb226b502 permissions check, more db helper functions 2021-02-07 14:11:06 -06:00
Xevion
288f1e3a61 switch to bot commands extension style bot setup 2021-02-07 14:10:42 -06:00
Xevion
5f832de5f2 setup row adding/removal on guild changes, improved logging + basic command processing, add logging format to main file 2021-02-07 07:47:51 -06:00
Xevion
4527a3e427 fix async issues, add logging, get database to be created on startup 2021-02-07 07:04:16 -06:00
Xevion
0dadb30680 setup basic logging constants/handlers, write all table creation/update/basic fetching behavior sqlite statements 2021-02-07 06:23:25 -06:00
Xevion
71c6c3936b setup bot with feature list and command schema/list, update requirements.txt with aiosqlite 2021-02-07 06:22:32 -06:00
Xevion
3807c10feb gitignore 2021-02-07 05:38:08 -06:00
Xevion
b7d4a810e9 basic bot setup 2021-02-07 05:37:02 -06:00