dpp::voiceconn
std::enable_shared_from_this< voiceconn >
discordclient.h
class discord_client * class discord_client* dpp::voiceconn::creator creator dpp::voiceconn::creator

Owning dpp::discord_client instance.

voice_connection_gateway_request_callback_t voice_connection_gateway_request_callback_t dpp::voiceconn::request_callback request_callback dpp::voiceconn::request_callback

Function to ask a discord_client instance to make a request to Gateway to connect to a voice channel.

snowflake snowflake dpp::voiceconn::channel_id channel_id dpp::voiceconn::channel_id

Voice Channel ID.

bool bool dpp::voiceconn::dave dave dpp::voiceconn::dave

True to enable DAVE E2EE.

This is an EXPERIMENTAL feature!

snowflake snowflake dpp::voiceconn::guild_id guild_id dpp::voiceconn::guild_id

Guild to connect to the voice channel on.

std::string std::string dpp::voiceconn::session_id session_id dpp::voiceconn::session_id

Voice Voice session ID.

std::string std::string dpp::voiceconn::token token dpp::voiceconn::token

Voice websocket token.

std::unique_ptr< class discord_voice_client > std::unique_ptr<class discord_voice_client> dpp::voiceconn::voiceclient voiceclient dpp::voiceconn::voiceclient

voice websocket client

std::string std::string dpp::voiceconn::websocket_hostname websocket_hostname dpp::voiceconn::websocket_hostname

Websocket hostname for status.

dpp::voiceconn::voiceconn
(class discord_client *o, voice_connection_gateway_request_callback_t request_callback, snowflake guild_id, snowflake channel_id, bool enable_dave)
voiceconn
dpp::voiceconn::voiceconn
class discord_client * o
voice_connection_gateway_request_callback_t request_callback
snowflake guild_id
snowflake channel_id
bool enable_dave

Construct a new voiceconn object.

o

owner

request_callback

Function to ask a discord_client instance to make a request to Gateway to connect to a voice channel

guild_id

Guild to connect to the voice channel on

channel_id

voice channel id

enable_dave

True to enable DAVE E2EE

dpp::voiceconn::~voiceconn
()
~voiceconn
dpp::voiceconn::~voiceconn

Destroy the voiceconn object.

voiceconn & voiceconn & dpp::voiceconn::connect () connect dpp::voiceconn::connect

Create websocket object and connect it. Needs hostname, token and session_id to be set or does nothing.

reference to self

It can spawn a thread to establish the connection, so this is NOT a synchronous blocking call! You shouldn't call this directly. Use a wrapper function instead. e.g. dpp::guild::connect_member_voice

voiceconn & voiceconn & dpp::voiceconn::disconnect () disconnect dpp::voiceconn::disconnect

Disconnect from the currently connected voice channel.

reference to self

bool bool dpp::voiceconn::is_active () const is_active dpp::voiceconn::is_active

return true if the connection is active (websocket exists)

true if has an active websocket

bool bool dpp::voiceconn::is_ready () const is_ready dpp::voiceconn::is_ready

return true if the connection is ready to connect (has hostname, token and session id)

true if ready to connect

void void dpp::voiceconn::reassign_owner (class discord_client *o) reassign_owner dpp::voiceconn::reassign_owner class discord_client * o

Reassigns the owner to the given discord_client.

voiceconn & voiceconn & dpp::voiceconn::request () request dpp::voiceconn::request

Represents a connection to a voice channel. A client can only connect to one voice channel per guild at a time, so these are stored in a map in the dpp::discord_client keyed by guild_id.

dpp::voiceconn
std::enable_shared_from_this< voiceconn >
K
T
bool
cache_policy_setting_t
double
dpp::cache_policy_t
channel_policy
emoji_policy
guild_policy
role_policy
user_policy
dpp::cluster
token
last_identify
cluster_id
intents
maxclusters
numshards
rest_ping
me
cache_policy
ws_mode
terminating
request_timeout
socketengine
on_voice_channel_effect_send
on_voice_state_update
on_voice_client_platform
on_voice_client_disconnect
on_voice_client_speaking
on_log
on_socket_close
on_guild_join_request_delete
on_interaction_create
on_slashcommand
on_button_click
on_autocomplete
on_select_click
on_message_context_menu
on_user_context_menu
on_form_submit
on_guild_delete
on_channel_delete
on_channel_update
on_ready
on_message_delete
on_guild_member_remove
on_resumed
on_guild_role_create
on_typing_start
on_message_reaction_add
on_guild_members_chunk
on_message_reaction_remove
on_guild_create
on_channel_create
on_message_reaction_remove_emoji
on_message_delete_bulk
on_guild_role_update
on_guild_role_delete
on_channel_pins_update
on_message_reaction_remove_all
on_voice_server_update
on_guild_emojis_update
on_guild_stickers_update
on_presence_update
on_webhooks_update
on_automod_rule_create
on_automod_rule_update
on_automod_rule_delete
on_automod_rule_execute
on_guild_member_add
on_invite_delete
on_guild_update
on_guild_integrations_update
on_guild_member_update
on_invite_create
on_message_update
on_user_update
on_message_create
on_message_poll_vote_add
on_message_poll_vote_remove
on_guild_audit_log_entry_create
on_guild_ban_add
on_guild_ban_remove
on_integration_create
on_integration_update
on_integration_delete
on_thread_create
on_thread_update
on_thread_delete
on_thread_list_sync
on_thread_member_update
on_thread_members_update
on_guild_scheduled_event_create
on_guild_scheduled_event_update
on_guild_scheduled_event_delete
on_guild_scheduled_event_user_add
on_guild_scheduled_event_user_remove
on_voice_buffer_send
on_voice_ready
on_voice_receive
on_voice_receive_combined
on_voice_track_marker
on_stage_instance_create
on_stage_instance_update
on_stage_instance_delete
on_entitlement_create
on_entitlement_update
on_entitlement_delete
dpp::discord_voice_client
creator
reconnection_callback
terminating
current_gain
end_gain
increment
heartbeat_interval
last_heartbeat
sessionid
token
channel_id
server_id
moving_average
send_audio_type
iteration_interval
dpp::event_router_t< T >
dpp::event_router_t< dpp::autocomplete_t >
< dpp::autocomplete_t >
dpp::event_router_t< dpp::automod_rule_create_t >
< dpp::automod_rule_create_t >
dpp::event_router_t< dpp::automod_rule_delete_t >
< dpp::automod_rule_delete_t >
dpp::event_router_t< dpp::automod_rule_execute_t >
< dpp::automod_rule_execute_t >
dpp::event_router_t< dpp::automod_rule_update_t >
< dpp::automod_rule_update_t >
dpp::event_router_t< dpp::button_click_t >
< dpp::button_click_t >
dpp::event_router_t< dpp::channel_create_t >
< dpp::channel_create_t >
dpp::event_router_t< dpp::channel_delete_t >
< dpp::channel_delete_t >
dpp::event_router_t< dpp::channel_pins_update_t >
< dpp::channel_pins_update_t >
dpp::event_router_t< dpp::channel_update_t >
< dpp::channel_update_t >
dpp::event_router_t< dpp::entitlement_create_t >
< dpp::entitlement_create_t >
dpp::event_router_t< dpp::entitlement_delete_t >
< dpp::entitlement_delete_t >
dpp::event_router_t< dpp::entitlement_update_t >
< dpp::entitlement_update_t >
dpp::event_router_t< dpp::form_submit_t >
< dpp::form_submit_t >
dpp::event_router_t< dpp::guild_audit_log_entry_create_t >
< dpp::guild_audit_log_entry_create_t >
dpp::event_router_t< dpp::guild_ban_add_t >
< dpp::guild_ban_add_t >
dpp::event_router_t< dpp::guild_ban_remove_t >
< dpp::guild_ban_remove_t >
dpp::event_router_t< dpp::guild_create_t >
< dpp::guild_create_t >
dpp::event_router_t< dpp::guild_delete_t >
< dpp::guild_delete_t >
dpp::event_router_t< dpp::guild_emojis_update_t >
< dpp::guild_emojis_update_t >
dpp::event_router_t< dpp::guild_integrations_update_t >
< dpp::guild_integrations_update_t >
dpp::event_router_t< dpp::guild_join_request_delete_t >
< dpp::guild_join_request_delete_t >
dpp::event_router_t< dpp::guild_member_add_t >
< dpp::guild_member_add_t >
dpp::event_router_t< dpp::guild_member_remove_t >
< dpp::guild_member_remove_t >
dpp::event_router_t< dpp::guild_member_update_t >
< dpp::guild_member_update_t >
dpp::event_router_t< dpp::guild_members_chunk_t >
< dpp::guild_members_chunk_t >
dpp::event_router_t< dpp::guild_role_create_t >
< dpp::guild_role_create_t >
dpp::event_router_t< dpp::guild_role_delete_t >
< dpp::guild_role_delete_t >
dpp::event_router_t< dpp::guild_role_update_t >
< dpp::guild_role_update_t >
dpp::event_router_t< dpp::guild_scheduled_event_create_t >
< dpp::guild_scheduled_event_create_t >
dpp::event_router_t< dpp::guild_scheduled_event_delete_t >
< dpp::guild_scheduled_event_delete_t >
dpp::event_router_t< dpp::guild_scheduled_event_update_t >
< dpp::guild_scheduled_event_update_t >
dpp::event_router_t< dpp::guild_scheduled_event_user_add_t >
< dpp::guild_scheduled_event_user_add_t >
dpp::event_router_t< dpp::guild_scheduled_event_user_remove_t >
< dpp::guild_scheduled_event_user_remove_t >
dpp::event_router_t< dpp::guild_stickers_update_t >
< dpp::guild_stickers_update_t >
dpp::event_router_t< dpp::guild_update_t >
< dpp::guild_update_t >
dpp::event_router_t< dpp::integration_create_t >
< dpp::integration_create_t >
dpp::event_router_t< dpp::integration_delete_t >
< dpp::integration_delete_t >
dpp::event_router_t< dpp::integration_update_t >
< dpp::integration_update_t >
dpp::event_router_t< dpp::interaction_create_t >
< dpp::interaction_create_t >
dpp::event_router_t< dpp::invite_create_t >
< dpp::invite_create_t >
dpp::event_router_t< dpp::invite_delete_t >
< dpp::invite_delete_t >
dpp::event_router_t< dpp::log_t >
< dpp::log_t >
dpp::event_router_t< dpp::message_context_menu_t >
< dpp::message_context_menu_t >
dpp::event_router_t< dpp::message_create_t >
< dpp::message_create_t >
dpp::event_router_t< dpp::message_delete_bulk_t >
< dpp::message_delete_bulk_t >
dpp::event_router_t< dpp::message_delete_t >
< dpp::message_delete_t >
dpp::event_router_t< dpp::message_poll_vote_add_t >
< dpp::message_poll_vote_add_t >
dpp::event_router_t< dpp::message_poll_vote_remove_t >
< dpp::message_poll_vote_remove_t >
dpp::event_router_t< dpp::message_reaction_add_t >
< dpp::message_reaction_add_t >
dpp::event_router_t< dpp::message_reaction_remove_all_t >
< dpp::message_reaction_remove_all_t >
dpp::event_router_t< dpp::message_reaction_remove_emoji_t >
< dpp::message_reaction_remove_emoji_t >
dpp::event_router_t< dpp::message_reaction_remove_t >
< dpp::message_reaction_remove_t >
dpp::event_router_t< dpp::message_update_t >
< dpp::message_update_t >
dpp::event_router_t< dpp::presence_update_t >
< dpp::presence_update_t >
dpp::event_router_t< dpp::ready_t >
< dpp::ready_t >
dpp::event_router_t< dpp::resumed_t >
< dpp::resumed_t >
dpp::event_router_t< dpp::select_click_t >
< dpp::select_click_t >
dpp::event_router_t< dpp::slashcommand_t >
< dpp::slashcommand_t >
dpp::event_router_t< dpp::socket_close_t >
< dpp::socket_close_t >
dpp::event_router_t< dpp::stage_instance_create_t >
< dpp::stage_instance_create_t >
dpp::event_router_t< dpp::stage_instance_delete_t >
< dpp::stage_instance_delete_t >
dpp::event_router_t< dpp::stage_instance_update_t >
< dpp::stage_instance_update_t >
dpp::event_router_t< dpp::thread_create_t >
< dpp::thread_create_t >
dpp::event_router_t< dpp::thread_delete_t >
< dpp::thread_delete_t >
dpp::event_router_t< dpp::thread_list_sync_t >
< dpp::thread_list_sync_t >
dpp::event_router_t< dpp::thread_member_update_t >
< dpp::thread_member_update_t >
dpp::event_router_t< dpp::thread_members_update_t >
< dpp::thread_members_update_t >
dpp::event_router_t< dpp::thread_update_t >
< dpp::thread_update_t >
dpp::event_router_t< dpp::typing_start_t >
< dpp::typing_start_t >
dpp::event_router_t< dpp::user_context_menu_t >
< dpp::user_context_menu_t >
dpp::event_router_t< dpp::user_update_t >
< dpp::user_update_t >
dpp::event_router_t< dpp::voice_buffer_send_t >
< dpp::voice_buffer_send_t >
dpp::event_router_t< dpp::voice_channel_effect_send_t >
< dpp::voice_channel_effect_send_t >
dpp::event_router_t< dpp::voice_client_disconnect_t >
< dpp::voice_client_disconnect_t >
dpp::event_router_t< dpp::voice_client_platform_t >
< dpp::voice_client_platform_t >
dpp::event_router_t< dpp::voice_client_speaking_t >
< dpp::voice_client_speaking_t >
dpp::event_router_t< dpp::voice_ready_t >
< dpp::voice_ready_t >
dpp::event_router_t< dpp::voice_receive_t >
< dpp::voice_receive_t >
dpp::event_router_t< dpp::voice_server_update_t >
< dpp::voice_server_update_t >
dpp::event_router_t< dpp::voice_state_update_t >
< dpp::voice_state_update_t >
dpp::event_router_t< dpp::voice_track_marker_t >
< dpp::voice_track_marker_t >
dpp::event_router_t< dpp::webhooks_update_t >
< dpp::webhooks_update_t >
dpp::json_interface< T >
dpp::json_interface< user >
< user >
dpp::managed
id
dpp::moving_averager
values
collectionCount
dpp::snowflake
value
dpp::socket_engine_base
owner
fds_mutex
fds
stats
dpp::socket_stats
active_fds
deletions
errors
iterations
reads
updates
writes
engine_type
dpp::ssl_connection
buffer
cipher
hostname
obuffer
port
private_key_file
public_key_file
sfd
ssl
last_tick
start
connect_retries
bytes_in
bytes_out
unique_id
connected
keepalive
plaintext
raw_trace
tcp_connect_done
timer_handle
owner
dpp::user
global_name
username
avatar
avatar_decoration
primary_guild
flags
discriminator
refcount
dpp::utility::iconhash
first
second
dpp::utility::primaryguild
id
enabled
tag
badge
dpp::voiceconn
channel_id
guild_id
session_id
token
websocket_hostname
voiceclient
dave
dpp::websocket_client
timed_out
timeout
send_audio_type_t
float
int
int64_t
openssl_connection *
size_t
atomic_bool
std::basic_string< Char >
std::basic_string_view< Char >
std::deque< T >
elements
std::deque< int64_t >
elements
< int64_t >
std::enable_shared_from_this< voiceconn >
function< void()>
std::shared_mutex
std::string
std::string_view
std::unique_ptr< T >
ptr
std::unique_ptr< class dpp::discord_voice_client >
ptr
< class dpp::discord_voice_client >
std::unique_ptr< dpp::socket_engine_base >
ptr
< dpp::socket_engine_base >
std::unordered_map< K, T >
keys
elements
std::unordered_map< dpp::socket, std::unique_ptr< socket_events > >
< dpp::socket, std::unique_ptr< socket_events > >
time_t
uint16_t
uint32_t
uint64_t
uint8_t
websocket_protocol_t
- dpp::voiceconn
  channel_id
- dpp::voiceconn
  connect
- dpp::voiceconn
  creator
- dpp::voiceconn
  dave
- dpp::voiceconn
  disconnect
- dpp::voiceconn
  guild_id
- dpp::voiceconn
  is_active
- dpp::voiceconn
  is_ready
- dpp::voiceconn
  reassign_owner
- dpp::voiceconn
  request
- dpp::voiceconn
  request_callback
- dpp::voiceconn
  session_id
- dpp::voiceconn
  token
- dpp::voiceconn
  voiceclient
- dpp::voiceconn
  voiceconn
- dpp::voiceconn
  websocket_hostname
- dpp::voiceconn
  ~voiceconn