2023-12-22 09:21:49 -05:00
|
|
|
/*
|
|
|
|
`modules` will :
|
|
|
|
- be a starting refrence point for the bot instance to pull module definitions for
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
//mod crate::core::botmodules;
|
|
|
|
// use crate::core::botmodules;
|
|
|
|
pub use crate::core::botmodules::ModulesManager;
|
|
|
|
|
|
|
|
// use crate::core::botinstance;
|
|
|
|
pub use crate::core::botinstance::BotInstance;
|
2024-02-04 14:28:37 -05:00
|
|
|
use std::sync::Arc;
|
|
|
|
use futures::lock::Mutex;
|
2023-12-22 09:21:49 -05:00
|
|
|
|
|
|
|
// [ ] Load submodules
|
|
|
|
|
|
|
|
mod experiments;
|
|
|
|
|
|
|
|
|
|
|
|
// [ ] init() function that accepts bot instance - this is passed to init() on submodules
|
|
|
|
|
2024-01-29 01:13:56 -05:00
|
|
|
// pub fn init<F>(mgr:ModulesManager<F>) -> ModulesManager<F>
|
|
|
|
// pub fn init<F>(mgr:ModulesManager<F>)
|
2024-01-27 13:35:55 -05:00
|
|
|
// where
|
2024-01-29 01:13:56 -05:00
|
|
|
// // F: std::future::Future + Send,
|
|
|
|
// // F : Send,
|
|
|
|
// F : Send + ?Sized,
|
2024-02-04 14:28:37 -05:00
|
|
|
// pub fn init(mgr:&mut ModulesManager)
|
|
|
|
pub fn init(mgr:Arc<Mutex<ModulesManager>>)
|
2023-12-28 06:02:55 -05:00
|
|
|
{
|
2023-12-22 09:21:49 -05:00
|
|
|
// Modules initializer loads modules into the bot
|
|
|
|
// this is achieved by calling submodules that also have fn init() defined
|
|
|
|
|
2024-01-27 13:35:55 -05:00
|
|
|
experiments::init(mgr)
|
2023-12-22 09:21:49 -05:00
|
|
|
|
2024-01-27 13:35:55 -05:00
|
|
|
//();
|
2023-12-22 09:21:49 -05:00
|
|
|
}
|