Commit Graph

  • 264a4afd7f Merge branch 'master' of github.com:Xevion/contest-assistant master Xevion 2021-02-19 03:30:38 -06:00
  • b311700356 Expanded database testing Xevion 2021-02-19 03:29:53 -06:00
  • 8a1a2df2c1 Fix pipenv failing to import sqlalchemy-json Xevion 2021-02-18 23:46:05 -06:00
  • 08a34b7182 Install dependencies in GH Action with pipenv correctly Xevion 2021-02-18 20:10:36 -06:00
  • 4dafbe6ac1 Add GitHub Action for Pytest Xevion 2021-02-18 20:06:42 -06:00
  • 63f4c594b7 Improved 'leaderboard' command embed formatting Xevion 2021-02-18 09:31:16 -06:00
  • eb93b9f3bf Fix critical mistake in Submission.clear_other_votes Xevion 2021-02-18 09:04:55 -06:00
  • 813bb7ea1d Improve permission_explanation for prematurely closed Periods Xevion 2021-02-18 08:04:27 -06:00
  • 0ee89fc607 Update README to latest project specifications Xevion 2021-02-18 07:51:37 -06:00
  • fdc64012b0 Added better checks for updating votes outside of the voting period Xevion 2021-02-18 07:46:41 -06:00
  • 1dc9c7d435 Implemented generic command error handling Xevion 2021-02-18 06:07:40 -06:00
  • 8164d528a5 Used Embeds in all messages sent Xevion 2021-02-18 05:11:06 -06:00
  • 866e8ae83a Commit Alembic 'count' column migration script Xevion 2021-02-18 04:33:25 -06:00
  • 5a4da4cec0 Implement simple 'status' command Xevion 2021-02-18 04:31:45 -06:00
  • 95a87cb6dd Implemented 'leaderboard' command Xevion 2021-02-18 04:07:59 -06:00
  • bd3778182d Added new Submission column: count Xevion 2021-02-18 04:06:39 -06:00
  • 1b777a3689 Split ContestCog into ContestCommandsCog and ContestEventsCog Xevion 2021-02-18 01:35:33 -06:00
  • 39b0dc9a96 Enforce Period.states for on_raw_reaction_add Xevion 2021-02-17 22:55:31 -06:00
  • 7427763b57 Implement Submission.update and get/fetch message helper functions Xevion 2021-02-17 05:18:25 -06:00
  • 5c70a78798 Ensure Submission.update modifies votes column Xevion 2021-02-17 05:12:52 -06:00
  • 20566242ae Create NestedMutableList/JSON Alembic Migration Xevion 2021-02-17 04:57:30 -06:00
  • 8d8fe83b5f Proper basic tests for db.Submission methods Xevion 2021-02-17 03:38:04 -06:00
  • 8f67b3c785 Fix MutableJSON issues with NestedMutableList Xevion 2021-02-17 02:55:55 -06:00
  • 35c7d4fb15 Simplify PermissionOverwrite, refactor on_raw_reaction_add's upvote detection Xevion 2021-02-17 02:37:04 -06:00
  • ea8bd49216 remove defaults from MutableJSON column, mistakenly flipped comparator Xevion 2021-02-16 08:02:43 -06:00
  • 33ac0d7792 overhaul voting to support smart single voting protections and enforcing, new exceptions, vote clearing functions inside models, persistence updating Xevion 2021-02-16 07:27:02 -06:00
  • 0b8aaec332 actually implement message rejection for attachment filtering, TODO'd warning helper func Xevion 2021-02-15 05:25:33 -06:00
  • c234487302 minor typehint fixes, make optional arg into optional kwarg, add additional TODOs, add basic attachment filtering Xevion 2021-02-15 05:22:22 -06:00
  • 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 Xevion 2021-02-15 03:40:23 -06:00
  • 69f1f42698 lots of TODO ideas, plan for advance command error handling, leaderboard command idea Xevion 2021-02-14 01:49:48 -06:00
  • 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) Xevion 2021-02-14 01:48:56 -06:00
  • bb28f38fd9 commit constants.py Xevion 2021-02-14 01:47:27 -06:00
  • a5116dc093 finished basic reaction logic/protections and vote tallying, formatting & session.query typehints, correct advance command permissions more Xevion 2021-02-14 01:23:00 -06:00
  • 0e7bd35333 alembic migrations, init & Submissions.vote column Xevion 2021-02-14 01:20:22 -06:00
  • e6d001f2b7 add voting reactions method, typehint the rest of the bot.py session.query calls Xevion 2021-02-14 01:19:56 -06:00
  • 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 Xevion 2021-02-14 01:19:18 -06:00
  • 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 Xevion 2021-02-13 18:31:38 -06:00
  • 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 Xevion 2021-02-13 09:30:27 -06:00
  • 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 Xevion 2021-02-13 08:35:00 -06:00
  • 00f5b64f3f fix ambiguous foreign key relationships, Period.state default, fixing back populates Xevion 2021-02-13 08:31:09 -06:00
  • 7fb9f961b5 first overhaul of tests with new class/sessionmaker;engine/fixture setup Xevion 2021-02-13 08:30:13 -06:00
  • ee41885e89 running bot with database, switch to helper function for testing Xevion 2021-02-13 08:29:35 -06:00
  • ca10389aea fully re-implement contest cog with sqlalchemy, begin planning proper period logic in TODOs Xevion 2021-02-13 08:28:57 -06:00
  • 5978068e9b add sqlalchemy to bot startup, fix PyCharm typehinting for Session context manager, simplify autocommit and autoclose separate context managers into singular with kwargs Xevion 2021-02-13 05:23:12 -06:00
  • c8e0ae1bf2 refactor base ContestBot logic to use new sqlalchemy models, commit exceptions.py Xevion 2021-02-13 05:18:34 -06:00
  • 91594646c3 simplify period deactivation logic, refactor advance_state logic into check_not_finished wrapper Xevion 2021-02-13 05:14:42 -06:00
  • 2eb44b56e4 improve models relationships, add state management to Period model Xevion 2021-02-13 05:00:20 -06:00
  • 7e578fb132 begin switching to sqlalchemy for database management Xevion 2021-02-13 03:23:00 -06:00
  • ea825b9a30 switch to pipfile, new tests Xevion 2021-02-12 23:19:35 -06:00
  • 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 Xevion 2021-02-12 17:46:46 -06:00
  • 5defafa36e begin refactoring into namedtuple style, add period setup, transition to more modular and safer database state management Xevion 2021-02-09 14:32:32 -06:00
  • 294b34abe0 fixed bot not clearing old submission rows, fixed bot trying to use database before initialization, forgot to commit in deleted submission handling Xevion 2021-02-08 01:13:39 -06:00
  • 573d8aa06a automatic deleted submission database updating Xevion 2021-02-08 00:49:56 -06:00
  • 28c425ba9e complete submission tracking in database, old submission auto deletion Xevion 2021-02-08 00:49:23 -06:00
  • b2dc0fdc91 update README to current progress Xevion 2021-02-07 14:42:22 -06:00
  • b748db0866 submission channel config command, basic submission filtering Xevion 2021-02-07 14:29:15 -06:00
  • 9cb226b502 permissions check, more db helper functions Xevion 2021-02-07 14:11:06 -06:00
  • 288f1e3a61 switch to bot commands extension style bot setup Xevion 2021-02-07 14:10:42 -06:00
  • 5f832de5f2 setup row adding/removal on guild changes, improved logging + basic command processing, add logging format to main file Xevion 2021-02-07 07:47:51 -06:00
  • 4527a3e427 fix async issues, add logging, get database to be created on startup Xevion 2021-02-07 07:04:16 -06:00
  • 0dadb30680 setup basic logging constants/handlers, write all table creation/update/basic fetching behavior sqlite statements Xevion 2021-02-07 06:23:25 -06:00
  • 71c6c3936b setup bot with feature list and command schema/list, update requirements.txt with aiosqlite Xevion 2021-02-07 06:22:32 -06:00
  • 3807c10feb gitignore Xevion 2021-02-07 05:38:08 -06:00
  • b7d4a810e9 basic bot setup Xevion 2021-02-07 05:37:02 -06:00