diff --git a/Roadmap.md b/Roadmap.md index e5058ae..46fa3e4 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -7,9 +7,20 @@ What is currently upcoming. | Feature | Description | Depends on | | --------------- | --------------- | --------------- | +| **Room State Management v2** | Finish off the room state management stuff. | N/A | | **Room Metadata** | Internally store arbitrary key values on a per-room, per-user basis. | N/A | | **Character Sheet Integration v1** | Integrate with an external online character sheet service. | Room Metadata. Existence of said service. | +### Room State Management v2 + +Extend room state management to work under the following scenarios: + +- When the bot joins a room, add all users in the room to the database. +- When the bot joins a room, add the room name/ID to a room info struct/tree. +- On startup, sync room member lists as an async task. Update member list for every room the bot is in. + +The foundation already exists, which is the logic for the `!resync` command. This just needs to be executed in these scenarios. + ### Room Metadata The ability to store metadata on a per-room, per-user basis. This is foundational work for the character sheet integration. The metadata will be stored as key-value pairs, with the key consisting of user ID + room ID + key name. The value can be anything, and code will enforce type requirements.