use crate::core::api; use crate::core::timers::TimerClient; use crate::db::Database; use serenity::client::bridge::gateway::ShardManager; // use serenity::client::bridge::{ // gateway::ShardManager, // voice::ClientVoiceManager // }; // use serenity::model::id::{UserId, GuildId}; // use serenity::prelude::{Mutex, RwLock}; use serenity::model::id::UserId; use serenity::prelude::Mutex; // use serenity::voice; use std::sync::Arc; // use std::collections::HashSet; use typemap::Key; // use lavalink_rs::LavalinkClient; pub struct Owner; impl Key for Owner { type Value = UserId; } pub struct SerenityShardManager; impl Key for SerenityShardManager { type Value = Arc>; } pub struct ApiClient; impl Key for ApiClient { type Value = Arc; } pub struct DB; impl Key for DB { type Value = Arc; } pub struct TC; impl Key for TC { type Value = Arc>; } // pub struct VoiceManager; // impl Key for VoiceManager { // type Value = Arc>; // } // pub struct Lavalink; // impl Key for Lavalink { // type Value = Arc>; // } // pub struct VoiceGuildUpdate; // impl Key for VoiceGuildUpdate { // type Value = Arc>>; // }