Commit Graph

277 Commits

Author SHA1 Message Date
conatum 46bf03ae25 feature (setprofile): Profile tag editor. 2021-12-29 20:20:17 +02:00
conatum 6aaa2377a4 refactor: Split stats module from study. 2021-12-29 20:19:35 +02:00
conatum e2c096f350 (todo): Add extra metrics for stats.
v6 -> v7 data migration.
Use soft deletion for tasks.
Remove task expiry.
Migrate `complete` field to `completed_at`.
2021-12-29 08:27:53 +02:00
conatum 36f92add4e (todo): Small refactor.
Refactor `Tasklist` to allow for alternative (plugin) implementation.
2021-12-28 15:15:47 +02:00
conatum 46fd2b65e4 fix (rooms): Ignore vanishing lobby channel. 2021-12-28 00:27:59 +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 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
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
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 65fcfe0289 feature (sessions): Core session tracker.
Base `Session` system with event trackers.
2021-10-31 20:15:32 +02:00
conatum 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
conatum 0b7b84556d fix (renting): Fix expiry execution order. 2021-10-26 11:42:25 +03:00
conatum 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
conatum 17d6f10345 UI (help): Add flavour and links to help. 2021-10-25 15:00:09 +03:00