Skip to main content

Handler

Trait Handler 

Source
pub trait Handler<T> {
    // Required method
    fn handle<'life0, 'async_trait>(
        &'life0 self,
        context: BotContext,
        event: BotEvent,
    ) -> Pin<Box<dyn Future<Output = HandlerControl> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

Source

fn handle<'life0, 'async_trait>( &'life0 self, context: BotContext, event: BotEvent, ) -> Pin<Box<dyn Future<Output = HandlerControl> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§

Source§

impl<F, Fut, T1> Handler<T1> for F
where F: Fn(T1) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send,

Source§

impl<F, Fut, T1, T2> Handler<(T1, T2)> for F
where F: Fn(T1, T2) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3> Handler<(T1, T2, T3)> for F
where F: Fn(T1, T2, T3) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4> Handler<(T1, T2, T3, T4)> for F
where F: Fn(T1, T2, T3, T4) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5> Handler<(T1, T2, T3, T4, T5)> for F
where F: Fn(T1, T2, T3, T4, T5) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6> Handler<(T1, T2, T3, T4, T5, T6)> for F
where F: Fn(T1, T2, T3, T4, T5, T6) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7> Handler<(T1, T2, T3, T4, T5, T6, T7)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7, T8> Handler<(T1, T2, T3, T4, T5, T6, T7, T8)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send, T8: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9> Handler<(T1, T2, T3, T4, T5, T6, T7, T8, T9)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send, T8: FromEvent + Send, T9: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Handler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send, T8: FromEvent + Send, T9: FromEvent + Send, T10: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Handler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send, T8: FromEvent + Send, T9: FromEvent + Send, T10: FromEvent + Send, T11: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Handler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send, T8: FromEvent + Send, T9: FromEvent + Send, T10: FromEvent + Send, T11: FromEvent + Send, T12: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Handler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send, T8: FromEvent + Send, T9: FromEvent + Send, T10: FromEvent + Send, T11: FromEvent + Send, T12: FromEvent + Send, T13: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Handler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send, T8: FromEvent + Send, T9: FromEvent + Send, T10: FromEvent + Send, T11: FromEvent + Send, T12: FromEvent + Send, T13: FromEvent + Send, T14: FromEvent + Send,

Source§

impl<F, Fut, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Handler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> Fut + Send + Sync + 'static, Fut: Future<Output = HandlerControl> + Send + 'static, T1: FromEvent + Send, T2: FromEvent + Send, T3: FromEvent + Send, T4: FromEvent + Send, T5: FromEvent + Send, T6: FromEvent + Send, T7: FromEvent + Send, T8: FromEvent + Send, T9: FromEvent + Send, T10: FromEvent + Send, T11: FromEvent + Send, T12: FromEvent + Send, T13: FromEvent + Send, T14: FromEvent + Send, T15: FromEvent + Send,