D++ (DPP)
C++ Discord API Bot Library
dpp::voice_receive_t Struct Reference

voice receive packet More...

#include <dispatcher.h>

+ Inheritance diagram for dpp::voice_receive_t:
+ Collaboration diagram for dpp::voice_receive_t:

Public Member Functions

 voice_receive_t (class discord_client *client, const std::string &raw)
 Constructor. More...
 
 voice_receive_t (class discord_client *client, const std::string &raw, class discord_voice_client *vc, snowflake _user_id, uint8_t *pcm, size_t length)
 Construct a new voice receive t object. More...
 
const event_dispatch_tcancel_event () const
 Cancels the event in progress. Any other attached lambdas for this event after this one are not called. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state). More...
 
bool is_cancelled () const
 Returns true if the event is cancelled. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state). More...
 

Public Attributes

class discord_voice_clientvoice_client
 Voice client. More...
 
uint8_t * audio = nullptr
 Audio data, encoded as 48kHz stereo PCM or Opus,. More...
 
size_t audio_size = 0
 Size of audio buffer. More...
 
std::basic_string< uint8_t > audio_data
 Audio data, encoded as 48kHz stereo PCM or Opus,. More...
 
snowflake user_id
 User ID of speaker (zero if unknown) More...
 
const std::string raw_event
 Raw event data. If you are using json on your websocket, this will contain json, and if you are using ETF as your websocket protocol, it will contain raw ETF data. More...
 
class discord_clientfrom
 Shard the event came from. Note that for some events, notably voice events, this may be nullptr. More...
 

Protected Member Functions

void reassign (class discord_voice_client *vc, snowflake _user_id, uint8_t *pcm, size_t length)
 Reassign values outside of the constructor for use within discord_voice_client. More...
 

Friends

class discord_voice_client
 

Detailed Description

voice receive packet

Constructor & Destructor Documentation

◆ voice_receive_t() [1/2]

dpp::voice_receive_t::voice_receive_t ( class discord_client client,
const std::string &  raw 
)

Constructor.

Parameters
clientThe shard the event originated on. WILL ALWAYS be NULL.
rawRaw event text as UDP packet.

◆ voice_receive_t() [2/2]

dpp::voice_receive_t::voice_receive_t ( class discord_client client,
const std::string &  raw,
class discord_voice_client vc,
snowflake  _user_id,
uint8_t *  pcm,
size_t  length 
)

Construct a new voice receive t object.

Parameters
clientThe shard the event originated on. WILL ALWAYS be NULL.
rawRaw event text as UDP packet.
vcowning voice client pointer
_user_iduser id who is speaking, 0 for a mix of all user audio
pcmuser audio to set
lengthlength of user audio in bytes

Member Function Documentation

◆ cancel_event()

const event_dispatch_t & dpp::event_dispatch_t::cancel_event ( ) const
inherited

Cancels the event in progress. Any other attached lambdas for this event after this one are not called. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state).

Returns
const event_dispatch_t& reference to self for chaining

◆ is_cancelled()

bool dpp::event_dispatch_t::is_cancelled ( ) const
inherited

Returns true if the event is cancelled. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state).

Returns
true if the event is cancelled

◆ reassign()

void dpp::voice_receive_t::reassign ( class discord_voice_client vc,
snowflake  _user_id,
uint8_t *  pcm,
size_t  length 
)
protected

Reassign values outside of the constructor for use within discord_voice_client.

Parameters
vcowning voice client pointer
_user_iduser id who is speaking, 0 for a mix of all user audio
pcmuser audio to set
lengthlength of user audio in bytes

Friends And Related Function Documentation

◆ discord_voice_client

friend class discord_voice_client
friend

Member Data Documentation

◆ audio

uint8_t* dpp::voice_receive_t::audio = nullptr

Audio data, encoded as 48kHz stereo PCM or Opus,.

Deprecated:
Please switch to using audio_data.

◆ audio_data

std::basic_string<uint8_t> dpp::voice_receive_t::audio_data

Audio data, encoded as 48kHz stereo PCM or Opus,.

◆ audio_size

size_t dpp::voice_receive_t::audio_size = 0

Size of audio buffer.

Deprecated:
Please switch to using audio_data.

◆ from

class discord_client* dpp::event_dispatch_t::from
inherited

Shard the event came from. Note that for some events, notably voice events, this may be nullptr.

◆ raw_event

const std::string dpp::event_dispatch_t::raw_event
inherited

Raw event data. If you are using json on your websocket, this will contain json, and if you are using ETF as your websocket protocol, it will contain raw ETF data.

◆ user_id

snowflake dpp::voice_receive_t::user_id

User ID of speaker (zero if unknown)

◆ voice_client

class discord_voice_client* dpp::voice_receive_t::voice_client

Voice client.

D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0