Commit graph

49 commits

Author SHA1 Message Date
69005ef498 Convert State to global
This was just getting too painful to manage, especially passing around these state objects
2024-08-17 14:58:19 +01:00
51b49f507d Rename the ambiguous cog name 2024-08-16 23:29:15 +01:00
964e1c8f84 Move state back out of it's own lil module 2024-08-16 23:23:18 +01:00
a5d66aca4e Fix a bunch of failed imports and types from previous changes 2024-08-16 10:25:01 +01:00
92bc50396b Huge re-org to match normal python project structure 2024-08-14 22:42:53 +01:00
129721eb50 Move python files into py dir 2024-08-11 18:05:28 +01:00
d3a22ff090 Significant set of changes
* Use /join and /leave instead of roles
* Use scopes to check for user rights rather than using the config file
* Add /list to show the set of current people signed up
* Add a bunch more testing for various things
* Version both the config and the state
2024-08-11 17:53:37 +01:00
78834f5319 Rename history to state as it's now storing more than just the history 2024-08-11 12:16:23 +01:00
c93c5b9ecd Fix formatting 2024-08-11 12:07:19 +01:00
abcab55a78 Some cleanup to help make things a little clearer for the user 2024-08-11 11:53:05 +01:00
5a919ea48a Use a dynamic button to ensure the bot works between restarts 2024-08-11 11:37:20 +01:00
c87d7705cf Update the matching algorythm to take into account role similarity 2024-08-10 21:47:32 +01:00
874a24dd1d Implement a history-based matching algorythm
The bot will attempt to keep producing groups with entirely unique matches based on the full history of matches until it can't. It'll then step forward and ignore a week of history and try again, ignoring more history until no history is left
2024-08-10 15:12:14 +01:00
ed2375386b Pull file operations out to a files.py 2024-08-10 10:58:31 +01:00
96fb77f71f Some refactoring of the new external files 2024-08-10 10:55:09 +01:00
c44f16dd8f Pull out the config and history classes 2024-08-10 10:45:44 +01:00
d0865bd780 Add match data to the history 2024-08-10 10:25:11 +01:00
9824e9220b Add loading config and history from memory 2024-08-10 10:06:13 +01:00
6fbb598886 Pull out matching functions into their own file 2024-08-10 09:44:22 +01:00
1816e38db6 Add command to close the bot 2024-08-10 00:01:43 +01:00
8ff0064c93 Make the config import optional 2024-08-09 23:42:28 +01:00
95cb8bc868 Update the README with useful info 2024-08-09 23:33:39 +01:00
24026737a7 Fix for python 3.11 2024-08-09 23:16:33 +01:00
5693751c0a Add a text class using pytest 2024-08-09 23:14:42 +01:00
fe16c3f85d Some last bits of linting 2024-08-09 22:53:28 +01:00
adaa962fed Fix up duplicated matchee_role name 2024-08-09 22:50:22 +01:00
31cbdf61ab Enact a bunch of suggestions by pylint 2024-08-09 22:36:49 +01:00
354e202b18 Run autopep8 formatting 2024-08-09 22:12:58 +01:00
05ed2cee9c Many more improvements
* Remove caching guilds not really needed
* Set the bot prescense
* Allow anyone to match, but only Matchers to use a button to post
* Allow specifying the matchee role (can also use @everyone)
* Lots of cleanup and refactor
2024-08-09 22:08:05 +01:00
99d7866bf4 Clean up the output for each group and the hidden replies 2024-08-09 16:39:29 +01:00
723659344b Update the sync command to report progress 2024-08-09 16:34:11 +01:00
b98fa7469a Clean up and remove extra ordinal guff 2024-08-09 14:12:28 +01:00
9f5cc9bb49 Allow reloading the config on the $sync command
This lets us keep higher uptime if needed
2024-08-09 14:03:53 +01:00
b6a4bdf46c Set commands to be dm or guild only 2024-08-09 00:32:59 +01:00
f082b9df42 Fix double interaction when not posting 2024-08-09 00:29:24 +01:00
cd18e44032 Fix the bool fiasco with dry_run
bools can't be None, so we can't inverse this
2024-08-09 00:28:06 +01:00
02a9d94002 Implement dry-run functionality 2024-08-09 00:23:43 +01:00
bafc63c936 Set a default group size of 3 2024-08-09 00:16:51 +01:00
4543d57d26 Cleanup, refactor and simplification 2024-08-09 00:06:23 +01:00
60f769f8a9 Implement better logging 2024-08-08 23:32:52 +01:00
081fc629a6 Fix up guild storage and filtering for commands 2024-08-08 19:52:57 +01:00
0f8ed50032 Implement some security and command sync on demand 2024-08-08 19:45:53 +01:00
8b1fa9b1fc Improve the output by adding an initial message and group numbers 2024-08-08 17:37:08 +01:00
edff25bafd Remove misbehaving shebang 2024-08-08 17:18:28 +01:00
67b1feb51e Clean up and use role management for permissions 2024-08-08 17:16:59 +01:00
3da8065fa6 Use commands rather than text values
* Fix up the group matching to spread more evenly
* Also swap to using a config.py rather than .envrc or similar
2024-08-08 00:09:30 +01:00
32103ba045 Implement very basic matching 2024-08-07 23:23:52 +01:00
f7ca997c96 Implement a basic bot with a single hello command 2024-08-07 22:45:23 +01:00
a58a93659c Basic bot start from discordpy guide 2024-08-07 22:15:39 +01:00