use std::sync::Arc; use twilight_model::gateway::payload::incoming::MessageCreate; use crate::framework::{commands::messages::MessageSender, runtime::Runtime}; pub struct CommandContext<'a, T> { pub event: &'a MessageCreate, pub rt: Arc>, pub prefix: &'a str, } impl<'a, T> CommandContext<'a, T> where T: Send + Sync + 'static, { pub fn new(event: &'a MessageCreate, rt: Arc>, prefix: &'a str) -> Self { Self { event, rt, prefix } } pub fn send(&self) -> MessageSender { MessageSender::new(self.event.channel_id, self.rt.clone()) } }