[−][src]Trait hexavalent::event::server::ServerEvent
Trait implemented by all server event types.
Used with PluginHandle::hook_server
and PluginHandle::hook_server_attrs
.
This trait is sealed and cannot be implemented outside of hexavalent
.
Examples
Registering a hook for a server event.
use hexavalent::PluginHandle; use hexavalent::event::Event; use hexavalent::event::server::Privmsg; use hexavalent::hook::{Eat, Priority}; fn hook_privmsg<P: 'static>(ph: PluginHandle<'_, P>) { ph.hook_server(Privmsg, Priority::Normal, privmsg_cb); } fn privmsg_cb<P>( plugin: &P, ph: PluginHandle<'_, P>, args: <Privmsg as Event<'_>>::Args, ) -> Eat { let [sender, _, target, text] = args; ph.print(&format!( "Message from {} to {}: {}\0", sender, target, text )); Eat::None }