Package

ackcord

voice

Permalink

package voice

Visibility
  1. Public
  2. All

Type Members

  1. sealed trait AudioAPIMessage extends AnyRef

    Permalink

    The base trait for all audio events.

    The base trait for all audio events. Note that the audio API does not have any connections to any ackcord.CacheSnapshots. As such you have to find the objects for the IDs yourself.

  2. case class Heartbeat(d: Int) extends VoiceMessage[Int] with Product with Serializable

    Permalink

    Sent by the client at some interval specified by Hello

    Sent by the client at some interval specified by Hello

    d

    Nonce

  3. case class HeartbeatACK(d: Int) extends VoiceMessage[Int] with Product with Serializable

    Permalink

    Sent by Discord as acknowledgement of our heartbeat

    Sent by Discord as acknowledgement of our heartbeat

    d

    The nonce we sent

  4. case class Hello(heartbeatInterval: Int) extends VoiceMessage[NotUsed] with Product with Serializable

    Permalink

    Sent by Discord to tell us what heartbeat interval we should use.

  5. class IPDiscoveryFlow extends GraphStageWithMaterializedValue[FlowShape[ByteString, ByteString], Future[FoundIP]]

    Permalink
  6. case class Identify(d: IdentifyData) extends VoiceMessage[IdentifyData] with Product with Serializable

    Permalink

    Sent by the client to inform Discord that we want to send voice data.

    Sent by the client to inform Discord that we want to send voice data. Discord responds with Ready

  7. case class IdentifyData(serverId: RawSnowflake, userId: UserId, sessionId: String, token: String) extends Product with Serializable

    Permalink

    Data used by Identify

    Data used by Identify

    serverId

    The server id we want to connect to

    userId

    Our user id

    sessionId

    The session id received in ackcord.APIMessage.VoiceStateUpdate

    token

    The token received in ackcord.APIMessage.VoiceServerUpdate

  8. class NaclBidiFlow extends GraphStage[BidiShape[ByteString, ByteString, ByteString, ReceivedData]]

    Permalink
  9. case class RTPHeader(tpe: Byte, version: Byte, sequence: Short, timestamp: Int, ssrc: Int) extends Product with Serializable

    Permalink

    Represents the RTP header used for sending and receiving voice data

    Represents the RTP header used for sending and receiving voice data

    tpe

    The type to use. Should be 0x80

    version

    The version to use. Should be 0x78

    sequence

    The sequence

    timestamp

    Timestamp

    ssrc

    SSRC of sender

  10. case class Ready(d: ReadyData) extends VoiceMessage[ReadyData] with Product with Serializable

    Permalink

    Sent by Discord following Identify

  11. case class ReadyData(ssrc: Int, port: Int, modes: Seq[String], heartbeatInterval: Int) extends Product with Serializable

    Permalink

    Data of Ready

    Data of Ready

    ssrc

    Our ssrc

    port

    The port to connect to

    modes

    The supported modes

    heartbeatInterval

    Faulty heartbeat interval, should be ignored

  12. case class Resume(d: ResumeData) extends VoiceMessage[ResumeData] with Product with Serializable

    Permalink

    Sent by the client when we want to resume a connection after getting disconnected.

  13. case class ResumeData(serverId: RawSnowflake, sessionId: String, token: String) extends Product with Serializable

    Permalink

    Data of Resume

    Data of Resume

    serverId

    The server id to resume for

    sessionId

    The session id

    token

    The token

  14. case class SelectProtocol(d: SelectProtocolData) extends VoiceMessage[SelectProtocolData] with Product with Serializable

    Permalink

    Sent by the client when everything else is done.

    Sent by the client when everything else is done. Discord responds with SessionDescription

  15. case class SelectProtocolConnectionData(address: String, port: Int, mode: String) extends Product with Serializable

    Permalink

    Connection data used by SelectProtocol

    Connection data used by SelectProtocol

    address

    Our IP address discovered using ip discovery

    port

    Our port discovered using ip discovery

    mode

    The encryption mode, currently supports only xsalsa20_poly1305

  16. case class SelectProtocolData(protocol: String, data: SelectProtocolConnectionData) extends Product with Serializable

    Permalink

    Data used by SelectProtocol

    Data used by SelectProtocol

    protocol

    The protocol to use, currently only supports udp

    data

    The connection data

  17. case class SessionDescription(d: SessionDescriptionData) extends VoiceMessage[SessionDescriptionData] with Product with Serializable

    Permalink

    Sent by Discord in response to SelectProtocol

  18. case class SessionDescriptionData(mode: String, secretKey: ByteString) extends Product with Serializable

    Permalink

    Data of SessionDescription

    mode

    The mode used

    secretKey

    The secret key used for encryption

  19. case class Speaking(d: SpeakingData) extends VoiceMessage[SpeakingData] with Product with Serializable

    Permalink

    Sent by Discord when a user is speaking, anc client when we want to set the bot as speaking.

    Sent by Discord when a user is speaking, anc client when we want to set the bot as speaking. This is required before sending voice data.

  20. case class SpeakingData(speaking: Boolean, delay: JsonOption[Int], ssrc: JsonOption[Int], userId: JsonOption[UserId]) extends Product with Serializable

    Permalink

    Data of Speaking

    Data of Speaking

    speaking

    If the user is speaking

    delay

    Delay

    ssrc

    The ssrc of the speaking user

    userId

    Optional user id

  21. sealed trait VoiceMessage[D] extends AnyRef

    Permalink

    Messages sent to the voice websocket.

  22. sealed abstract case class VoiceOpCode extends Product with Serializable

    Permalink

    Voice opcode used by voice websocket

  23. class VoiceWsHandler extends Actor with Timers with ActorLogging

    Permalink

    Responsible for handling the websocket connection part of voice data.

Value Members

  1. object AudioAPIMessage

    Permalink
  2. object IPDiscoveryFlow

    Permalink
  3. object IgnoreClientDisconnect extends VoiceMessage[NotUsed] with Product with Serializable

    Permalink

    Message for OpCode 13, should be ignored

  4. object IgnoreMessage12 extends VoiceMessage[NotUsed] with Product with Serializable

    Permalink

    Message for OpCode 12, should be ignored

  5. object NaclBidiFlow

    Permalink
  6. object RTPHeader extends Serializable

    Permalink
  7. object Resumed extends VoiceMessage[NotUsed] with Product with Serializable

    Permalink

    Send by Discord when we successfully resume a connection

  8. object SelectProtocol extends Serializable

    Permalink
  9. object Speaking extends Serializable

    Permalink
  10. object VoiceOpCode extends Serializable

    Permalink
  11. object VoiceUDPFlow

    Permalink
  12. object VoiceWsHandler

    Permalink
  13. object VoiceWsProtocol extends DiscordProtocol

    Permalink

Ungrouped