27 lines
664 B
Rust
27 lines
664 B
Rust
|
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<GuildId> {
|
||
|
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)
|
||
|
}
|