nonebot_rs/matcher/
action.rs1use crate::log::{colored::*, event, Level};
2
3#[derive(Clone, Debug)]
5pub enum MatchersAction {
6 AddMessageEventMatcher {
8 message_event_matcher: super::Matcher<crate::event::MessageEvent>,
9 },
10 RemoveMatcher { matcher_name: String },
12}
13
14impl super::matchers::Matchers {
15 pub fn handle_action(&mut self, action: MatchersAction) {
17 match action {
18 MatchersAction::AddMessageEventMatcher {
19 message_event_matcher,
20 } => {
21 event!(
22 Level::DEBUG,
23 "Adding Message Event Matcher: {}",
24 message_event_matcher.name.blue()
25 );
26 self.add_message_matcher(message_event_matcher);
27 }
28 MatchersAction::RemoveMatcher { matcher_name } => {
29 event!(
30 Level::DEBUG,
31 "Removing Message Event Matcher: {}",
32 matcher_name.blue()
33 );
34 self.remove_matcher(&matcher_name);
35 }
36 }
37 }
38}