discord-kurante/src/passive/mod.rs

36 lines
865 B
Rust
Raw Normal View History

2020-05-02 02:27:40 +00:00
use ahhhh::YellResponder;
use best_doctor::BestDoctorResponder;
use fufufu::FufufuResponder;
2020-05-02 02:17:53 +00:00
use serenity::async_trait;
use serenity::model::channel::Message;
use serenity::prelude::{Context, EventHandler};
2020-05-02 02:27:40 +00:00
mod ahhhh;
2020-05-02 02:17:53 +00:00
mod best_doctor;
mod fufufu;
pub(crate) struct Handler {
2020-05-02 02:27:40 +00:00
responders: Vec<Box<dyn EventHandler>>,
2020-05-02 02:17:53 +00:00
}
impl Default for Handler {
fn default() -> Self {
Self {
2020-05-02 02:27:40 +00:00
responders: vec![
Box::new(BestDoctorResponder::default()),
Box::new(FufufuResponder::default()),
Box::new(YellResponder::default()),
],
2020-05-02 02:17:53 +00:00
}
}
}
#[async_trait]
impl EventHandler for Handler {
async fn message(&self, ctx: Context, message: Message) {
2020-05-02 02:27:40 +00:00
for responder in self.responders.iter() {
responder.message(ctx.clone(), message.clone()).await;
2020-05-02 02:17:53 +00:00
}
}
}