1
0
mirror of https://git.ngram.ca/OpenJam/rc-servers synced 2026-08-23 23:08:52 +00:00

Add basic chat plugin harness (no plugin loading implemented)

This commit is contained in:
NG (Graham)
2026-01-13 19:29:27 -05:00
parent d04984239c
commit 7224a9b5aa
10 changed files with 125 additions and 2 deletions

11
rc_plugins/Cargo.toml Normal file
View File

@@ -0,0 +1,11 @@
[package]
name = "oj_rc_plugins"
version.workspace = true
edition.workspace = true
repository.workspace = true
license.workspace = true
authors.workspace = true
readme.workspace = true
[dependencies]
log.workspace = true

View File

@@ -0,0 +1,2 @@
mod plugin;
pub use plugin::{ChatProvider, ChatPlugin};

View File

@@ -0,0 +1,8 @@
pub trait ChatPlugin: crate::Plugin {
fn set_provider(&self, provider: std::sync::Arc<Box<dyn ChatProvider>>);
fn on_message(&self, message: &str, channel: &str, username: &str);
}
pub trait ChatProvider: Send + Sync {
fn send_message(&self, message: &str, channel: &str, username: &str);
}

3
rc_plugins/src/lib.rs Normal file
View File

@@ -0,0 +1,3 @@
pub mod chat;
pub trait Plugin: Send + Sync {}