Commit Graph

147 Commits

Author SHA1 Message Date
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
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
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
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
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
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
8208f601d6 (stats): Remove dynamic field-reordering. 2021-12-22 08:18:40 +02:00
e8547f9f4b fix (stats): Fix misnamed variable. 2021-12-15 14:36:09 +02:00
d2a5eed245 Merge branch 'feature-session-tracker' into staging 2021-12-08 12:02:17 +02:00
f18af33fb6 fix (sessions): Recognise accountability sessions. 2021-12-08 11:44:35 +02:00
9d0fd93822 fix (stats): Fix time formatting issue. 2021-12-08 11:44:15 +02:00
d95faed02b fix (stats): Repair some formatting issues. 2021-12-07 11:02:40 +02:00
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
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
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
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
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
cffdfb693b (sessions): Add guild join and leave hooks. 2021-12-02 13:16:36 +02:00
fe1cd85511 (sessions): Add UI for daily_study_cap. 2021-12-02 12:51:14 +02:00
3abac63379 style (config): Add closest-match suggestions. 2021-12-02 12:50:23 +02:00
3cb9d97e1e fix: Improve launch caching systems. 2021-12-02 12:01:12 +02:00
734436e2a6 (sessions): Add daily_study_cap system. 2021-12-02 11:48:04 +02:00
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
9c8dfd6a3a (sessions): Complete launch and init pathway. 2021-11-29 13:31:37 +02:00
2cf66ab600 (stats_cmd): Allow execution before ready. 2021-11-07 16:31:55 +02:00
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
e797b67c3b fix (rooms): Remove speak permission from room. 2021-11-07 15:09:06 +02:00
db6cc078db fix (rroles): Off by one error in maximum. 2021-11-07 15:05:05 +02:00
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
0e62ebdb2b fix (rroles): Increase maximum role price. 2021-11-07 14:58:57 +02:00
10f048fabc fix (rooms): Avoid loading rooms in dead guilds. 2021-11-07 03:16:56 +02:00
65fcfe0289 feature (sessions): Core session tracker.
Base `Session` system with event trackers.
2021-10-31 20:15:32 +02:00
5ea7d06dae refactor: Update study module structure.
Prepare `study` module for session and timer systems.
Move regular sync to the studybadge loop.
2021-10-26 17:35:16 +03:00
0b7b84556d fix (renting): Fix expiry execution order. 2021-10-26 11:42:25 +03:00
f18b7c2702 docs (config): Add more documentation.
Write `config` command docs.
Extend `config` header and add tutorial link.
Allow moderators to read settings (but not configure them).
Change `config help` to `config info`.
2021-10-25 16:15:43 +03:00
17d6f10345 UI (help): Add flavour and links to help. 2021-10-25 15:00:09 +03:00
cf610ef44d fix (rent): Handle non-existent objects.
Handle room channel being deleted before expiry.
Handle room owner leaving the server before expiry.
2021-10-25 14:37:38 +03:00
5ad4ec5ee1 fix (send cmd): Harden arg parsing.
Fix an issue where the send arg parsing would pass non-matching input.
2021-10-24 20:12:28 +03:00
9b8c952e78 fix (rroles): Handle unicode emojis on creation.
Fixes a rroles creation issues with pre-existing unicode emojis.
2021-10-24 19:52:06 +03:00
d619b0fe17 fix (rroles): Fix tracker issues.
Make `cancel_expiry` arguments consistent with call.
Add initial `guild` ward to the raw reaction events.
2021-10-24 19:39:06 +03:00
c275b8b095 (LionModule): Add custom exception handler.
Provide more context when logging errors, and a friendlier message.
2021-10-20 13:26:39 +03:00
42e47bea1a fix (rooms): Cancel rooms on system shutdown.
Fix typos in the `success_response` for `accountability_category`.
Make the `TimeSlot.cancel()` method more robust.
2021-10-20 12:55:36 +03:00
91454b35cc fix (studybadges): Detect level duplicates.
Detect and complain about duplications in provided studybadge levels.
2021-10-19 21:26:03 +03:00
6a43530142 fix (rooms): Harden turnover to deletion.
Fix an issue where `TimeSlot.start()` could propagate an exception.
2021-10-19 20:21:57 +03:00
7c2a6c39a7 fix (Ticket): Make default _revert a no-op.
Fixes an issue where pardoning a non-revertable ticket throws an exception.
2021-10-19 19:58:04 +03:00
a52026404b fix (video): Add missing return in response. 2021-10-19 19:15:48 +03:00
850e44bbc0 UI (accountability): Add images to room summary. 2021-10-19 19:09:16 +03:00
1852710352 Merge branch 'python-rewrite' into reaction_roles 2021-10-19 13:23:16 +03:00
117b424f53 (rroles): Expiry system and small bugfixes.
Completed the `duration` reaction role setting implementation.
Improved the `Duration` setting type format.
Moved reaction roles to their own module.
Various small bugfixes.
2021-10-19 13:19:41 +03:00