9337b92f50
Even more defense - only matchy knows about the state.json path
2024-08-13 23:45:39 +01:00
57f65b265c
More protection - State does it's own saving
2024-08-13 23:43:15 +01:00
f2d7e1d490
Protect against discovered miss-use of state
2024-08-13 23:32:28 +01:00
f2bfa6d33c
Remove the OWNER scope as it's no longer used
2024-08-13 23:05:14 +01:00
723fa5dfba
Pull out the majority of functionality into a cog
2024-08-13 20:27:55 +01:00
ceda1e2adc
Fix some formatting and linting issues
2024-08-13 14:26:23 +01:00
005e352343
Don't use setdefault when we're just getting information
2024-08-13 14:17:36 +01:00
f00216fffc
Remove the unneeded full tracking of history
...
Also use setdefault() to save a bunch of pain
Prevent a silly exhaustive history search on all channel times rather than just current users
2024-08-13 00:12:30 +01:00
503e899f19
Send a reminder message a day before a scheduled run
2024-08-12 23:29:40 +01:00
07485ceb8d
Implement /schedule
...
Allows matchers to schedule repeated weekly runs on a given weekday and hour
Can schedule multiple runs
Scheduled runs can be cancelled with cancel:True in the command
/list also shows any scheduled commands in that channel
2024-08-12 23:00:49 +01:00
145907a0df
Update the date format in the statefile
2024-08-11 22:31:20 +01:00
9043615498
Move core matching factors to the config file
...
Bonus changes here were making the config a singleton, fixing some more tests and then re-writing the stress test because it was pissing me off.
2024-08-11 22:07:43 +01:00
7efe781e66
Implement user pausing with /pause
2024-08-11 19:02:47 +01:00
129721eb50
Move python files into py dir
2024-08-11 18:05:28 +01:00