[][src]Struct serenity::voice::Manager

pub struct Manager { /* fields omitted */ }

A manager is a struct responsible for managing Handlers which belong to a single Shard. This is a fairly complex key-value store, with a bit of extra utility for easily joining a "target".

The "target" used by the Manager is determined based on the guild_id and channel_id provided. If a guild_id is not provided to methods that optionally require it, then the target is a group or 1-on-1 call with a user. The channel_id is then used as the target.

If a guild_id is provided, then the target is the guild, as a user can not be connected to two channels within one guild simultaneously.

Implementations

impl Manager[src]

pub fn get<G: Into<GuildId>>(&self, guild_id: G) -> Option<&Handler>[src]

Retrieves an immutable handler for the given target, if one exists.

pub fn get_mut<G: Into<GuildId>>(&mut self, guild_id: G) -> Option<&mut Handler>[src]

Retrieves a mutable handler for the given target, if one exists.

pub fn join<C, G>(&mut self, guild_id: G, channel_id: C) -> &mut Handler where
    C: Into<ChannelId>,
    G: Into<GuildId>, 
[src]

Connects to a target by retrieving its relevant Handler and connecting, or creating the handler if required.

This can also switch to the given channel, if a handler already exists for the target and the current connected channel is not equal to the given channel.

In the case of channel targets, the same channel is used to connect to.

In the case of guilds, the provided channel is used to connect to. The channel must be in the provided guild. This is not checked by the library, and will result in an error. If there is already a connected handler for the guild, and the provided channel is different from the channel that the connection is already connected to, then the handler will switch the connection to the provided channel.

If you only need to retrieve the handler for a target, then use get.

pub fn leave<G: Into<GuildId>>(&mut self, guild_id: G)[src]

Retrieves the handler for the given target and leaves the associated voice channel, if connected.

This will not drop the handler, and will preserve it and its settings.

This is a wrapper around getting a handler and calling leave on it.

pub fn remove<G: Into<GuildId>>(&mut self, guild_id: G)[src]

Retrieves the Handler for the given target and leaves the associated voice channel, if connected.

The handler is then dropped, removing settings for the target.

Trait Implementations

impl Clone for Manager[src]

Auto Trait Implementations

impl !RefUnwindSafe for Manager

impl Send for Manager

impl Sync for Manager

impl Unpin for Manager

impl !UnwindSafe for Manager

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]