Commit graph

33 commits

Author SHA1 Message Date
e3d96faaa7 Call the write next datetime function when sending to the channel
All checks were successful
Test, Build and Publish / test (pull_request) Successful in 34s
Test, Build and Publish / build-and-push-images (pull_request) Successful in 1m10s
2024-09-22 14:38:09 +01:00
7491a4d2f8 Account for the cadence in all the messages
Some checks failed
Test, Build and Publish / test (pull_request) Failing after 23s
Test, Build and Publish / build-and-push-images (pull_request) Has been skipped
2024-09-22 14:20:47 +01:00
2ad7ed2ff2 Fix not returning values from safe_write functions 2024-09-22 14:20:34 +01:00
93590d14b7 Ensure a cadence of 0 does not get used
The user surely meant 1
2024-09-22 12:22:54 +01:00
d83f933f1d Only yield matching tasks if the weekly cadence has been hit
All checks were successful
Test, Build and Publish / test (pull_request) Successful in 35s
Test, Build and Publish / build-and-push-images (pull_request) Successful in 1m12s
2024-09-22 12:20:55 +01:00
e9cccefacb Add cadence argument to the /schedule command
This allows setting the cadence, or changing it. When changing the initial start time will be reset
2024-09-22 12:09:59 +01:00
b86aaf7016 Add cadence values to the matchy tasks
cadence - Run this task every "x" weeks
cadence - Unix seconds timestamp for the start of this cadence
2024-09-22 11:57:44 +01:00
4a1c1083d0 Fix imports 2024-08-17 22:55:30 +01:00
1b93396315 Add string to the new schedule button sharing 2024-08-17 22:53:05 +01:00
b5c86f51ca Fix up merge conflicts 2024-08-17 22:45:20 +01:00
381756ce91 Merge main 2024-08-17 22:39:07 +01:00
251befb1a5 Implement a ton of string variants 2024-08-17 22:33:04 +01:00
125105469a Pull out all strings the bot says to a class
Also implement a randomised wrapper
2024-08-17 21:57:27 +01:00
cc8490f38f Update the schedule button to properly reply to the user 2024-08-17 15:03:57 +01:00
9d920ce831 Add a button to the /schedule command to post it to the channel 2024-08-17 14:59:16 +01:00
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
f926a36069 Fix /leave not working for anyone who's paused in the past
Some checks failed
Test, Build and Publish / test (push) Has been cancelled
Test, Build and Publish / build-and-push-images (push) Has been cancelled
We now clear the re-activate value when a user is unpaused.

Added bonus here is various bits of refactor and cleanup, with some tests
2024-08-17 14:14:45 +01:00
946de66f52 Ensure we clear the reactivate flag
Otherwise a user can pause any time they like but they can never leave
2024-08-17 12:34:07 +01:00
aa60ea9676 Fix the time printout in /list
Forgetting to store the outcome of .replace, and also not zeroing the smaller parts
2024-08-17 00:24:58 +01:00
92be1d1bf0 Add /cancel
Using cancel=True on /schedule was a PITA
2024-08-17 00:14:10 +01:00
95e44b60f4 Send dates with discord formats! 2024-08-17 00:00:47 +01:00
ef88117f36 Move the matcher button back into the cog 2024-08-16 23:36:43 +01:00
51b49f507d Rename the ambiguous cog name 2024-08-16 23:29:15 +01:00
e8ff102e33 Some matching cleanup and move a utility function out 2024-08-16 23:28:07 +01:00
964e1c8f84 Move state back out of it's own lil module 2024-08-16 23:23:18 +01:00
c9446605bc Move ops functions into state 2024-08-16 23:21:20 +01:00
5e262deda6 Remove config, YAGNI 2024-08-16 23:15:43 +01:00
63d9081e07 A bunch more state cleanup, no need for functions that only get used once 2024-08-16 23:03:40 +01:00
ef4dd5c571 Use a decorator for the safe write in State
This is a little cleaner to my eyes
2024-08-16 22:53:10 +01:00
a5d66aca4e Fix a bunch of failed imports and types from previous changes 2024-08-16 10:25:01 +01:00
0e81951f75 Ensure the path directory is created before saving a json file 2024-08-16 10:25:01 +01:00
edeeaf578a Fix the import in matching.py 2024-08-14 22:50:36 +01:00
92bc50396b Huge re-org to match normal python project structure 2024-08-14 22:42:53 +01:00