25 lines
612 B
Rust
25 lines
612 B
Rust
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<Runtime<T>>,
|
|
pub prefix: &'a str,
|
|
}
|
|
|
|
impl<'a, T> CommandContext<'a, T>
|
|
where
|
|
T: Send + Sync + 'static,
|
|
{
|
|
pub fn new(event: &'a MessageCreate, rt: Arc<Runtime<T>>, prefix: &'a str) -> Self {
|
|
Self { event, rt, prefix }
|
|
}
|
|
|
|
pub fn send(&self) -> MessageSender<T> {
|
|
MessageSender::new(self.event.channel_id, self.rt.clone())
|
|
}
|
|
}
|