Rename IntoPrefixes into PrefixGetter

This commit is contained in:
2025-08-13 14:49:12 -03:00
parent a14ae96a47
commit 7b3fa9905a
2 changed files with 9 additions and 9 deletions
+7 -7
View File
@@ -28,7 +28,7 @@ pub enum RuntimeError {
}
#[async_trait]
pub trait IntoPrefixes<T> {
pub trait PrefixGetter<T> {
async fn get(
&self,
runtime: &Runtime<T>,
@@ -38,21 +38,21 @@ pub trait IntoPrefixes<T> {
}
#[async_trait]
impl<T> IntoPrefixes<T> for String {
impl<T> PrefixGetter<T> for String {
async fn get(&self, _: &Runtime<T>, _: Option<u64>, _: Option<u64>) -> Vec<String> {
vec![self.to_string()]
}
}
#[async_trait]
impl<T> IntoPrefixes<T> for &str {
impl<T> PrefixGetter<T> for &str {
async fn get(&self, _: &Runtime<T>, _: Option<u64>, _: Option<u64>) -> Vec<String> {
vec![self.to_string()]
}
}
#[async_trait]
impl<T: Send + Sync + 'static, const N: usize, S: Send + Sync + 'static> IntoPrefixes<S> for [T; N]
impl<T: Send + Sync + 'static, const N: usize, S: Send + Sync + 'static> PrefixGetter<S> for [T; N]
where
T: ToString,
{
@@ -62,7 +62,7 @@ where
}
#[async_trait]
impl<F, Fut, T> IntoPrefixes<T> for F
impl<F, Fut, T> PrefixGetter<T> for F
where
F: Fn() -> Fut + Send + Sync + 'static,
Fut: Future<Output = Vec<String>> + Send,
@@ -74,7 +74,7 @@ where
pub struct Bot<T: Send + Sync = ()> {
state: Arc<T>,
prefixes: Arc<dyn IntoPrefixes<T> + Send + Sync>,
prefixes: Arc<dyn PrefixGetter<T> + Send + Sync>,
intents: Intents,
commands: Vec<Arc<dyn Command<T>>>,
components: Vec<Arc<dyn Component<T>>>,
@@ -90,7 +90,7 @@ pub struct Bot<T: Send + Sync = ()> {
}
impl<T: 'static + Send + Sync> Bot<T> {
pub fn new(state: T, prefixes: impl IntoPrefixes<T> + Send + Sync + 'static) -> Self {
pub fn new(state: T, prefixes: impl PrefixGetter<T> + Send + Sync + 'static) -> Self {
Self {
state: Arc::new(state),
prefixes: Arc::new(prefixes),
+2 -2
View File
@@ -23,7 +23,7 @@ use twilight_http::Client;
use twilight_model::oauth::Application;
use crate::framework::{
bot::IntoPrefixes, commands::Command, interactions::registry::ComponentRegistry,
bot::PrefixGetter, commands::Command, interactions::registry::ComponentRegistry,
};
/// The application's runtime tools.
@@ -38,7 +38,7 @@ pub struct Runtime<T> {
pub registry: ComponentRegistry<T>,
/// The command prefixes getter.
pub prefixes: Arc<dyn IntoPrefixes<T> + Send + Sync + 'static>,
pub prefixes: Arc<dyn PrefixGetter<T> + Send + Sync + 'static>,
/// The commands available in the application.
pub commands: Vec<Arc<dyn Command<T>>>,