From dd0e6e45c35133ec8a3e2886b7b050484b388d03 Mon Sep 17 00:00:00 2001 From: Nathan Ringo Date: Fri, 22 Nov 2024 00:11:43 -0600 Subject: Initial commit --- src/lib.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/lib.rs (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..3b11a48 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,27 @@ +mod labwatch; + +use serenity::{ + all::{ChannelId, Context, EventHandler, Ready}, + async_trait, +}; +use std::{path::PathBuf, sync::Arc}; + +pub struct Handler(Arc); + +impl From for Handler { + fn from(config: HandlerConfig) -> Handler { + Handler(Arc::new(config)) + } +} + +pub struct HandlerConfig { + pub db_dir: PathBuf, + pub labwatch_channel_id: ChannelId, +} + +#[async_trait] +impl EventHandler for Handler { + async fn ready(&self, ctx: Context, _data_about_bot: Ready) { + tokio::spawn(labwatch::start(self.0.clone(), ctx)); + } +} -- cgit v1.2.3