summaryrefslogtreecommitdiffstats
path: root/src/plugin.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugin.rs')
-rw-r--r--src/plugin.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugin.rs b/src/plugin.rs
index 62f4fbb..3791bf1 100644
--- a/src/plugin.rs
+++ b/src/plugin.rs
@@ -1,7 +1,6 @@
use std::fmt;
use irc::client::prelude::*;
use irc::error::Error as IrcError;
-use PluginCommand;
pub trait Plugin: Send + Sync + fmt::Display + fmt::Debug {
fn is_allowed(&self, server: &IrcServer, message: &Message) -> bool;
@@ -9,7 +8,13 @@ pub trait Plugin: Send + Sync + fmt::Display + fmt::Debug {
fn command(&mut self, server: &IrcServer, command: PluginCommand) -> Result<(), IrcError>;
}
-#[macro_export]
+#[derive(Clone, Debug)]
+pub struct PluginCommand {
+ pub source: String,
+ pub target: String,
+ pub tokens: Vec<String>,
+}
+
macro_rules! register_plugin {
($t:ident) => {
use std::fmt;