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

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.

Methods

impl Manager
[src]

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

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

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.

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.

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]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for Manager
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for Manager

impl !Sync for Manager