use crate::log::{colored::*, event, Level};
#[derive(Clone, Debug)]
pub enum MatchersAction {
AddMessageEventMatcher {
message_event_matcher: super::Matcher<crate::event::MessageEvent>,
},
RemoveMatcher { matcher_name: String },
}
impl super::matchers::Matchers {
pub fn handle_action(&mut self, action: MatchersAction) {
match action {
MatchersAction::AddMessageEventMatcher {
message_event_matcher,
} => {
event!(
Level::DEBUG,
"Adding Message Event Matcher: {}",
message_event_matcher.name.blue()
);
self.add_message_matcher(message_event_matcher);
}
MatchersAction::RemoveMatcher { matcher_name } => {
event!(
Level::DEBUG,
"Removing Message Event Matcher: {}",
matcher_name.blue()
);
self.remove_matcher(&matcher_name);
}
}
}
}