Enum JoinError

Source
#[non_exhaustive]
pub enum JoinError { Dropped, NoSender, NoCall, TimedOut, Driver(ConnectionError), Serenity(Box<TrySendError<ShardRunnerMessage>>), Twilight(ChannelError), }
Expand description

Error returned when a manager or call handler is unable to send messages over Discord’s gateway.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Dropped

Request to join was dropped, cancelled, or replaced.

§

NoSender

No available gateway connection was provided to send voice state update messages.

§

NoCall

Tried to leave a Call which was not found.

§

TimedOut

Connection details were not received from Discord in the time given in the Call’s configuration.

This can occur if a message is lost by the Discord client between restarts, or if Discord’s gateway believes that this bot is still in the channel it attempts to join.

Users should leave the server on the gateway before re-attempting connection.

§

Driver(ConnectionError)

The driver failed to establish a voice connection.

Users should leave the server on the gateway before re-attempting connection.

§

Serenity(Box<TrySendError<ShardRunnerMessage>>)

Serenity-specific WebSocket send error.

§

Twilight(ChannelError)

Twilight-specific WebSocket send error when a message fails to send over websocket.

Implementations§

Source§

impl JoinError

Source

pub fn should_leave_server(&self) -> bool

Indicates whether this failure may have left (or been caused by) Discord’s gateway state being in an inconsistent state.

Failure to leave before rejoining may cause further timeouts.

Source

pub fn should_reconnect_driver(&self) -> bool

Indicates whether this failure can be reattempted via Driver::connect with retreived connection info.

Failure to leave before rejoining may cause further timeouts.

Trait Implementations§

Source§

impl Debug for JoinError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for JoinError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for JoinError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Box<TrySendError<ShardRunnerMessage>>> for JoinError

Source§

fn from(e: Box<TrySendError<ShardRunnerMessage>>) -> Self

Converts to this type from the input type.
Source§

impl From<ChannelError> for JoinError

Source§

fn from(e: ChannelError) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for JoinError

Source§

fn from(e: ConnectionError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

§

fn into_sample(self) -> T

§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> ToStringFallible for T
where T: Display,

§

fn try_to_string(&self) -> Result<String, TryReserveError>

ToString::to_string, but without panic on OOM.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> DebuggableStorage for T
where T: Any + Send + Sync + Debug,

§

impl<T> ErasedDestructor for T
where T: 'static,