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