Expand description
Auto-Reply Mechanism Module
本模块实现 Aster-Rust 框架的自动回复触发机制。 支持多种触发方式:@提及、关键词匹配、私聊、定时触发和 Webhook。
§主要组件
types- 触发类型和配置定义whitelist- 白名单管理器cooldown- 冷却时间追踪器keyword_matcher- 关键词匹配器registry- 触发器注册表message- 入站消息和触发结果类型group- 群组激活配置manager- 自动回复管理器config- 配置持久化webhook- Webhook 触发处理schedule- Scheduler 集成
§示例
ⓘ
use aster::auto_reply::{AutoReplyManager, IncomingMessage, TriggerResult};
let manager = AutoReplyManager::new(config_path).await?;
let message = IncomingMessage { /* ... */ };
match manager.should_reply(&message) {
TriggerResult::Triggered { trigger, context } => {
// 处理触发的自动回复
}
TriggerResult::Rejected { reason } => {
// 处理拒绝原因
}
TriggerResult::NoMatch => {
// 无匹配触发器
}
}Re-exports§
pub use config::AutoReplyConfig;pub use cooldown::CooldownCheckResult;pub use cooldown::CooldownTracker;pub use group::GroupActivation;pub use group::GroupActivationManager;pub use group::GroupRejectionReason;pub use keyword_matcher::KeywordMatchResult;pub use keyword_matcher::KeywordMatcher;pub use manager::AutoReplyManager;pub use manager::AutoReplyStats;pub use message::IncomingMessage;pub use message::RejectionReason;pub use message::TriggerContext;pub use message::TriggerResult;pub use registry::AutoReplyTrigger;pub use registry::TriggerRegistry;pub use schedule::ScheduleContext;pub use schedule::ScheduleTriggerEvent;pub use schedule::ScheduleTriggerHandler;pub use types::KeywordTriggerConfig;pub use types::ScheduleTriggerConfig;pub use types::ScheduleType;pub use types::TriggerConfig;pub use types::TriggerType;pub use types::WebhookTriggerConfig;pub use webhook::WebhookHandler;pub use webhook::WebhookRequest;pub use webhook::WebhookResult;pub use whitelist::WhitelistManager;