Events: Deprecate ClientConnect (#112)
Discord no longer send these websocket payloads, users should instead rely on the main part of their bot for determining actual connection events, or `SpeakingUpdate`s for SSRC mapping. Closes #104.
This commit is contained in:
@@ -38,8 +38,19 @@ pub enum EventContext<'a> {
|
||||
VoicePacket(VoiceData<'a>),
|
||||
/// Telemetry/statistics packet, received from another stream.
|
||||
RtcpPacket(RtcpData<'a>),
|
||||
/// Fired whenever a client connects to a call for the first time, allowing SSRC/UserID
|
||||
/// matching.
|
||||
#[deprecated(
|
||||
since = "0.2.2",
|
||||
note = "ClientConnect events are no longer sent by Discord. Please use SpeakingUpdate or Discord gateway events."
|
||||
)]
|
||||
/// Formerly fired whenever a client connects to a call for the first time, allowing SSRC/UserID
|
||||
/// matching. This event no longer fires.
|
||||
///
|
||||
/// To detect when a user connects, you must correlate gateway (e.g., VoiceStateUpdate) events
|
||||
/// from the main part of your bot.
|
||||
///
|
||||
/// To obtain a user's SSRC, you must use [`SpeakingUpdate`] events.
|
||||
///
|
||||
/// [`SpeakingUpdate`]: Self::SpeakingUpdate
|
||||
ClientConnect(ClientConnect),
|
||||
/// Fired whenever a client disconnects.
|
||||
ClientDisconnect(ClientDisconnect),
|
||||
@@ -114,6 +125,7 @@ impl<'a> CoreContext {
|
||||
SpeakingUpdate(evt) => EventContext::SpeakingUpdate(SpeakingUpdateData::from(evt)),
|
||||
VoicePacket(evt) => EventContext::VoicePacket(VoiceData::from(evt)),
|
||||
RtcpPacket(evt) => EventContext::RtcpPacket(RtcpData::from(evt)),
|
||||
#[allow(deprecated)]
|
||||
ClientConnect(evt) => EventContext::ClientConnect(*evt),
|
||||
ClientDisconnect(evt) => EventContext::ClientDisconnect(*evt),
|
||||
DriverConnect(evt) => EventContext::DriverConnect(ConnectData::from(evt)),
|
||||
@@ -140,6 +152,7 @@ impl EventContext<'_> {
|
||||
SpeakingUpdate(_) => Some(CoreEvent::SpeakingUpdate),
|
||||
VoicePacket(_) => Some(CoreEvent::VoicePacket),
|
||||
RtcpPacket(_) => Some(CoreEvent::RtcpPacket),
|
||||
#[allow(deprecated)]
|
||||
ClientConnect(_) => Some(CoreEvent::ClientConnect),
|
||||
ClientDisconnect(_) => Some(CoreEvent::ClientDisconnect),
|
||||
DriverConnect(_) => Some(CoreEvent::DriverConnect),
|
||||
|
||||
@@ -25,7 +25,19 @@ pub enum CoreEvent {
|
||||
/// Fires on receipt of an RTCP packet, containing various call stats
|
||||
/// such as latency reports.
|
||||
RtcpPacket,
|
||||
/// Fires whenever a user connects to the same stream as the bot.
|
||||
#[deprecated(
|
||||
since = "0.2.2",
|
||||
note = "ClientConnect events are no longer sent by Discord. Please use SpeakingUpdate or Discord gateway events."
|
||||
)]
|
||||
/// Formerly fired whenever a client connects to a call for the first time, allowing SSRC/UserID
|
||||
/// matching. This event no longer fires.
|
||||
///
|
||||
/// To detect when a user connects, you must correlate gateway (e.g., VoiceStateUpdate) events
|
||||
/// from the main part of your bot.
|
||||
///
|
||||
/// To obtain a user's SSRC, you must use [`SpeakingUpdate`] events.
|
||||
///
|
||||
/// [`SpeakingUpdate`]: Self::SpeakingUpdate
|
||||
ClientConnect,
|
||||
/// Fires whenever a user disconnects from the same stream as the bot.
|
||||
ClientDisconnect,
|
||||
|
||||
Reference in New Issue
Block a user