use parking_lot; use serenity; use serenity::client::CACHE; use serenity::model::id::{ChannelId, GuildId}; use serenity::voice::Handler; pub fn guild_id(channel_id: ChannelId) -> Option { match CACHE.read().guild_channel(channel_id) { Some(channel) => Some(channel.read().guild_id), None => { print_error!(channel_id.say("Error finding channel info")); None } } } pub fn handler<'a>( guild_id: GuildId, manager: &'a mut parking_lot::MutexGuard< '_, serenity::client::bridge::voice::ClientVoiceManager, >, ) -> Option<&'a mut Handler> { manager.get_mut(guild_id) }