Commit Graph

2442 Commits

Author SHA1 Message Date
conatum a31f451102 Merge branch 'staging' of cgithub:StudyLions/StudyLion into staging 2021-12-27 13:42:33 +02:00
Interitio 0000528a0a Merge pull request #14 from StudyLions/staging
Sharding support and session tracker system
2021-12-22 21:05:53 +02:00
Interitio 8f03773d7b Merge pull request #13 from StudyLions/sharding
Sharding support.
2021-12-22 20:45:49 +02:00
conatum e979e5cf45 sharding (reminders): Adapt for sharding.
Restrict reminder execution to shard `0`.
Add a poll on shard `0` to pick up new reminders.
Check whether the reminder still exists on execution.
2021-12-22 20:35:06 +02:00
conatum 0dd5213f13 sharding (accountability): Adapt for sharding.
Filter initially loaded accountability guilds.
Filter timeslots loaded in `open_next`.
Reload members and overwrites on slot start.
2021-12-22 19:07:28 +02:00
conatum 68ff40cb0b sharding (status): Use sessions for bot status.
Uses the `current_sessions` table to generate the status summary.
2021-12-22 17:42:33 +02:00
conatum 276886a3a7 sharding (general): Add launch data filters.
Filter cached reaction role messages by shardid.
Filter expiring rented room by shardid.
Filter scanned study badges by shardid.
Filter resumed study sessions by shardid.
Filter resumed workouts by shardid.

Fix a spacing issue in the log printer.
2021-12-22 17:26:49 +02:00
conatum 25e22c07d0 sharding (tickets): Filter expiring tickets.
Only expire tickets which are on this shard.
`THIS_SHARD` application is a no-op when unsharded.
2021-12-22 13:20:27 +02:00
conatum 1c05d7a880 sharding (blacklists): Blacklist shard support.
Moved the `user_blacklist` and `guild_blacklist` to a client TTL cache.
2021-12-22 13:07:20 +02:00
conatum 20697c4823 sharding (core): Add base sharding support.
Add `meta.args` for command line argument access.
Add command line argument support for shard number.
Add shard count to config file.
Add `meta.sharding` exposing shard properties.
Add shard number to logging methods.
Add shard number to data appid.
2021-12-22 11:28:43 +02:00
conatum d498673020 sharding (data): Add SHARDID condition. 2021-12-22 10:34:34 +02:00
conatum f3cf4fcb5a fix (accountability): Disallow near bookings.
Don't allow members to book within 11 minutes of the room start.
Patches a race condition where the open room doesn't include the member.
2021-12-22 08:57:57 +02:00
conatum d2fd3c9c0d fix (renting): Disallow removing owner.
Don't allow the room owner to be added or removed from the rented room.
Also fixes an issue where the room expiry log would try to use deleted data.
2021-12-22 08:34:38 +02:00
conatum 8208f601d6 (stats): Remove dynamic field-reordering. 2021-12-22 08:18:40 +02:00
conatum 73e329ee94 fix (LionModule): Fix channel existence ward.
Fixes an issue where all commands would fail in DMs.
2021-12-22 08:14:32 +02:00
conatum e8547f9f4b fix (stats): Fix misnamed variable. 2021-12-15 14:36:09 +02:00
conatum d2a5eed245 Merge branch 'feature-session-tracker' into staging 2021-12-08 12:02:17 +02:00
conatum 6f4c62b4b1 Merge branch 'staging' of cgithub:StudyLions/StudyLion into staging 2021-12-08 11:57:33 +02:00
conatum f18af33fb6 fix (sessions): Recognise accountability sessions. 2021-12-08 11:44:35 +02:00
conatum 9d0fd93822 fix (stats): Fix time formatting issue. 2021-12-08 11:44:15 +02:00
conatum b273ae0596 (data): Update version and migration. 2021-12-07 13:23:13 +02:00
conatum d95faed02b fix (stats): Repair some formatting issues. 2021-12-07 11:02:40 +02:00
conatum 971446ffb5 (stats): Rewrite to include session data.
Complete `stats` command rewrite to include session data.
Added `get_member_rank` query to get accurate time and coin ranks.
2021-12-06 20:50:32 +02:00
Interitio 28275bea83 Merge pull request #11 from ShootingKing-AM/feature-admin-set-coins
[Guild Admin] Implemented admin set_coins command
2021-12-06 16:22:29 +02:00
Harsha Raghu 4582d9a1a1 Implement proper check for admin 2021-12-06 19:50:28 +05:30
Harsha Raghu d529daaa27 [Guild_Admin] set_coins Admin command 2021-12-06 19:14:47 +05:30
conatum 179b6ebf4e (leaderboards): Update to support sessions.
Use `member_totals` to generate leaderboards instead of `members`.
Fix typo in data coin conversion.
2021-12-04 11:36:52 +02:00
conatum bb181d9039 (badges): Update to account for session tracker.
Include current sessions in new badge scans.
Remove the voice update badge hook.
Account for current session in the current badge view.
2021-12-04 11:13:26 +02:00
conatum 144ccf9e81 (Lion): Update to account for current session.
Remove `time` pending and syncing logic.
Update `time` and `coins` to account for current session.
Add `Session.duration` for current session duration.
Add `Session.coins_earned` for current session coins.
2021-12-04 10:24:11 +02:00
conatum cffdfb693b (sessions): Add guild join and leave hooks. 2021-12-02 13:16:36 +02:00
conatum fe1cd85511 (sessions): Add UI for daily_study_cap. 2021-12-02 12:51:14 +02:00
conatum 3abac63379 style (config): Add closest-match suggestions. 2021-12-02 12:50:23 +02:00
conatum 3cb9d97e1e fix: Improve launch caching systems. 2021-12-02 12:01:12 +02:00
conatum 734436e2a6 (sessions): Add daily_study_cap system. 2021-12-02 11:48:04 +02:00
conatum ac71c4da9b (sessions): Add study_time_since function.
New `study_time_since` database function from session history.
Add `Lion.timezone`.
Add `Lion.day_start`.
Add `Lion.studied_today`.
Made `Table.queries` an instance variable.
Renamed the session channel types.
2021-11-29 13:33:21 +02:00
conatum 9c8dfd6a3a (sessions): Complete launch and init pathway. 2021-11-29 13:31:37 +02:00
Interitio b465617c3a Merge pull request #10 from StudyLions/patch-startup
Patch startup
2021-11-16 09:09:15 +02:00
Interitio f0aac7f57b Merge pull request #7 from ShootingKing-AM/gitignore
Added standard .gitignore for project
2021-11-12 13:43:57 +02:00
Harsha Raghu 6bc831a549 Added standard .gitignore for project
Standard python .gitignore: https://github.com/github/gitignore/blob/master/Python.gitignore

and to ignore changes to `config/**` dir (hiding bot.conf file)
2021-11-11 19:11:37 +05:30
conatum 2cf66ab600 (stats_cmd): Allow execution before ready. 2021-11-07 16:31:55 +02:00
conatum fc3246913f fix (core): Update guild_config definition.
Increase the cache size, and update the columns.
2021-11-07 16:27:38 +02:00
conatum 0b5be79b69 (LionModule): Improve startup handling.
Update `cmdClient` pointer for module launch updates.
Implement module launch wait logic in `pre_command`.
Add details to `SafeCancellation` calls in `pre_command`.
2021-11-07 16:14:26 +02:00
conatum 0fbf7c8903 fix (seekers): Consider news channels as text.
Non-canonical hack to `find_channel` to include `news` types in `text`.
2021-11-07 15:23:14 +02:00
conatum e797b67c3b fix (rooms): Remove speak permission from room. 2021-11-07 15:09:06 +02:00
conatum db6cc078db fix (rroles): Off by one error in maximum. 2021-11-07 15:05:05 +02:00
conatum 4c21160b31 fix (rroles): Repair setting error reply.
Modified `error_reply` utility so `kwargs` are passed to `Embed`.
Added `send_args` kwarg to `error_reply`.

Fixed an rroles issue where `UserInputError` handling would fail.
2021-11-07 15:00:04 +02:00
conatum 0e62ebdb2b fix (rroles): Increase maximum role price. 2021-11-07 14:58:57 +02:00
conatum 10f048fabc fix (rooms): Avoid loading rooms in dead guilds. 2021-11-07 03:16:56 +02:00
conatum b8702c14c3 Merge branch 'staging' into patch-startup
Pull a bugfix from staging into the patch.
2021-11-07 01:53:49 +02:00
conatum 65fcfe0289 feature (sessions): Core session tracker.
Base `Session` system with event trackers.
2021-10-31 20:15:32 +02:00