discord-kurante/src/passive/mod.rs

36 lines
865 B
Rust

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