36 lines
865 B
Rust
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;
|
|
}
|
|
}
|
|
}
|