[CORE] ModulesManager #26

Open
opened 2024-03-19 12:21:30 -04:00 by modulatingforce · 1 comment

Carve out rest of ModulesManager

Relatively high priority , as this is a Core prototype Feature

Initial Notes from Obsidian Vault

struct ModulesManager

[!note]- Stores :

  • statusdb - HashMap<ModType, Vec<StatusType>>
    • e.g., BotModule("BotCore") might be Enabled for a Channel("channel_name")
  • botactions - HashMap<ModType, Vec<BotAction>>
    • e.g., BotModule("identity") might have a BotAction that is a BotCommand called promote
    • This also stores custom functions defined under modules

[!note]- Methods & Related Functions include :

  • add_botaction() to add BotActions & if required add BotModule into statusdb and botactions ; this in conjunction to BotAction::add_to_bot() and BotAction::add_to_modmgr gives custom devs the ability to add their bot actions in module form to the bot
  • functionality with BotCommand to toggle, retrieve, and set the ModSatusType for any BotModule - addressed in #37
  • #pending_to_code BotAction::Routine - including SOP how to use routines - Will be addressed in #5
  • #pending_to_code Store BotModule or BotAction level variables - Will be addressed in #33
  • Unit tests - addressed in #37
  • #pending_to_code Cleanup debug & trace logging - Will be addressed in #32

[!note]- Dependencies

  • <modules> >> ModulesManager
    • <modules> init() is called by BotInstance's ModulesManager to load <modules>'s `BotActions
Carve out rest of `ModulesManager` Relatively high priority , as this is a Core prototype Feature Initial Notes from Obsidian Vault `struct ModulesManager` >[!note]- Stores : > - statusdb - `HashMap<ModType, Vec<StatusType>>` > - e.g., `BotModule("BotCore")` might be `Enabled` for a `Channel("channel_name")` > - botactions - `HashMap<ModType, Vec<BotAction>>` > - e.g., `BotModule("identity")` might have a `BotAction` that is a `BotCommand` called `promote` > - This also stores custom functions defined under `modules` >[!note]- Methods & Related Functions include : > - `add_botaction()` to add `BotActions` & if required add `BotModule` into statusdb and botactions ; this in conjunction to `BotAction::add_to_bot()` and `BotAction::add_to_modmgr` gives custom devs the ability to add their bot actions in module form to the bot > - [x] functionality with `BotCommand` to toggle, retrieve, and set the `ModSatusType` for any `BotModule` - addressed in https://git.flake.sh/modulatingforce/forcebot_rs/pulls/37 > - [x] _#pending_to_code_ `BotAction::Routine` - including SOP how to use routines - Will be addressed in https://git.flake.sh/modulatingforce/forcebot_rs/issues/5 > - [x] _#pending_to_code_ Store BotModule or BotAction level variables - Will be addressed in https://git.flake.sh/modulatingforce/forcebot_rs/issues/33 > - [x] Unit tests - addressed in https://git.flake.sh/modulatingforce/forcebot_rs/pulls/37 > - [x] _#pending_to_code_ Cleanup debug & trace logging - Will be addressed in https://git.flake.sh/modulatingforce/forcebot_rs/issues/32 >[!note]- Dependencies > - `<modules>` >> `ModulesManager` > - `<modules>` `init()` is called by `BotInstance`'s `ModulesManager` to load `<modules>`'s `BotActions
modulatingforce added this to the Prototype 1.0 milestone 2024-03-19 12:21:30 -04:00
modulatingforce added the
Kind/Feature
Priority
Medium
labels 2024-03-19 12:21:30 -04:00
modulatingforce self-assigned this 2024-03-19 12:21:30 -04:00
modulatingforce added this to the Rust Learning project 2024-03-19 12:21:30 -04:00
modulatingforce added reference modulesmanager 2024-03-20 21:08:28 -04:00
modulatingforce added a new dependency 2024-03-20 21:09:56 -04:00
modulatingforce added the
Status
Need More Info
label 2024-03-22 21:35:03 -04:00
Author
Owner

Merged related fixes in #37

Please monitor for a few days for recommendations or issues related to these modules

Otherwise, delete the related branch and close this issue after monitoring

Merged related fixes in https://git.flake.sh/modulatingforce/forcebot_rs/pulls/37 Please monitor for a few days for recommendations or issues related to these modules Otherwise, delete the related branch and close this issue after monitoring
modulatingforce added the due date 2024-03-25 2024-03-22 21:36:30 -04:00
modulatingforce modified the due date from 2024-03-25 to 2024-05-04 2024-03-27 18:35:54 -04:00
modulatingforce added the
Bot_Code
Core
Complexity
Advanced
labels 2024-03-27 18:36:02 -04:00
modulatingforce modified the project from Rust Learning to Forcebot Prototype 1.0 Push 2024-03-27 18:45:37 -04:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

2024-05-04

Depends on
#37 ModulesManager
modulatingforce/forcebot_rs
Reference: modulatingforce/forcebot_rs#26
No description provided.