Finish refactoring

This commit is contained in:
2025-08-10 21:15:53 -03:00
parent f123282699
commit a004fe2308
50 changed files with 2639 additions and 587 deletions
+13 -19
View File
@@ -1,30 +1,24 @@
use std::sync::Arc;
use twilight_http::Client;
use twilight_model::{gateway::payload::incoming::MessageCreate, oauth::Application};
use twilight_model::gateway::payload::incoming::MessageCreate;
use crate::framework::{commands::messages::MessageSender, handlers::Handlers, interactions::registry::Registry};
use crate::framework::{commands::messages::MessageSender, runtime::Runtime};
pub struct CommandContext<'a> {
pub struct CommandContext<'a, T> {
pub event: &'a MessageCreate,
pub handlers: Arc<Handlers>
pub rt: Arc<Runtime<T>>,
pub prefix: &'a str,
}
impl<'a> CommandContext<'a> {
pub fn new(
event: &'a MessageCreate,
handlers: Arc<Handlers>,
) -> Self {
Self {
event,
handlers
}
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 {
MessageSender::new(
self.event.channel_id,
self.handlers.clone()
)
pub fn send(&self) -> MessageSender<T> {
MessageSender::new(self.event.channel_id, self.rt.clone())
}
}