mirror of
https://github.com/mii443/ncb-tts-r2.git
synced 2025-08-22 16:15:29 +00:00
34 lines
710 B
Rust
34 lines
710 B
Rust
use crate::{
|
|
database::database::Database,
|
|
tts::{gcp_tts::gcp_tts::TTS, voicevox::voicevox::VOICEVOX},
|
|
};
|
|
use serenity::{
|
|
futures::lock::Mutex,
|
|
model::id::GuildId,
|
|
prelude::{RwLock, TypeMapKey},
|
|
};
|
|
|
|
use crate::tts::instance::TTSInstance;
|
|
use std::{collections::HashMap, sync::Arc};
|
|
|
|
/// TTSInstance data
|
|
pub struct TTSData;
|
|
|
|
impl TypeMapKey for TTSData {
|
|
type Value = Arc<RwLock<HashMap<GuildId, TTSInstance>>>;
|
|
}
|
|
|
|
/// TTS client data
|
|
pub struct TTSClientData;
|
|
|
|
impl TypeMapKey for TTSClientData {
|
|
type Value = Arc<Mutex<(TTS, VOICEVOX)>>;
|
|
}
|
|
|
|
/// Database client data
|
|
pub struct DatabaseClientData;
|
|
|
|
impl TypeMapKey for DatabaseClientData {
|
|
type Value = Arc<Mutex<Database>>;
|
|
}
|