pub struct StatsPlugin;Expand description
Example /stats plugin. Shows a statistical summary of recent chat
activity: message count, participant count, time range, most active user.
/summarise is reserved for LLM-powered v2 — the core binary does not
depend on any LLM SDK.
Trait Implementations§
Source§impl Plugin for StatsPlugin
impl Plugin for StatsPlugin
Source§fn commands(&self) -> Vec<CommandInfo>
fn commands(&self) -> Vec<CommandInfo>
Commands this plugin handles. Each entry drives
/help output
and TUI autocomplete. Read moreSource§fn handle(
&self,
ctx: CommandContext,
) -> Pin<Box<dyn Future<Output = Result<PluginResult, Error>> + Send + '_>>
fn handle( &self, ctx: CommandContext, ) -> Pin<Box<dyn Future<Output = Result<PluginResult, Error>> + Send + '_>>
Handle an invocation of one of this plugin’s commands. Read more
Source§fn api_version(&self) -> u32
fn api_version(&self) -> u32
Plugin API version this plugin was written against. Read more
Source§fn min_protocol(&self) -> &str
fn min_protocol(&self) -> &str
Minimum
room-protocol crate version this plugin requires, as a
semver string (e.g. "3.1.0"). Read moreSource§fn on_user_join(&self, _user: &str)
fn on_user_join(&self, _user: &str)
Called after a user joins the room. The default is a no-op. Read more
Source§fn on_user_leave(&self, _user: &str)
fn on_user_leave(&self, _user: &str)
Called after a user leaves the room. The default is a no-op. Read more
Auto Trait Implementations§
impl Freeze for StatsPlugin
impl RefUnwindSafe for StatsPlugin
impl Send for StatsPlugin
impl Sync for StatsPlugin
impl Unpin for StatsPlugin
impl UnsafeUnpin for StatsPlugin
impl UnwindSafe for StatsPlugin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more