package voice

Source
package.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. voice
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait AudioAPIMessage extends AnyRef

    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.CacheSnapshot s. As such you have to find the objects for the IDs yourself.

  2. case class BidiShapeWithExtraIn[-In1, +Out1, -In2, +Out2, -EIn](in1: Inlet[In1], out1: Outlet[Out1], in2: Inlet[In2], out2: Outlet[Out2], extraIn: Inlet[EIn]) extends Shape with Product with Serializable
  3. case class Heartbeat(d: Int) extends VoiceMessage[Int] with Product with Serializable

    Sent by the client at some interval specified by Hello

    Sent by the client at some interval specified by Hello

    d

    Nonce

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

    Sent by Discord as acknowledgement of our heartbeat

    Sent by Discord as acknowledgement of our heartbeat

    d

    The nonce we sent

  5. case class Hello(d: HelloData) extends VoiceMessage[HelloData] with Product with Serializable

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

  6. case class HelloData(heartbeatInterval: Double) extends Product with Serializable

    Data of Hello

    Data of Hello

    heartbeatInterval

    How often to heartbeat

  7. class IPDiscoveryFlow extends GraphStageWithMaterializedValue[FlowShape[ByteString, ByteString], Future[FoundIP]]
  8. case class Identify(d: IdentifyData) extends VoiceMessage[IdentifyData] with Product with Serializable

    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

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

    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

  10. class NaclBidiFlow extends GraphStage[BidiShapeWithExtraIn[ByteString, ByteString, ByteString, ReceivedData, Option[ByteString]]]
  11. case class RTPHeader(tpe: Byte, version: Byte, sequence: Short, timestamp: Int, ssrc: Int) extends Product with Serializable

    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

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

    Sent by Discord following Identify

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

    Data of Ready

    Data of Ready

    ssrc

    Our ssrc

    port

    The port to connect to

    ip

    The address to send voice data to

    modes

    The supported modes

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

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

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

    Data of Resume

    Data of Resume

    serverId

    The server id to resume for

    sessionId

    The session id

    token

    The token

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

    Sent by the client when everything else is done.

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

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

    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

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

    Data used by SelectProtocol

    Data used by SelectProtocol

    protocol

    The protocol to use, currently only supports udp

    data

    The connection data

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

    Sent by Discord in response to SelectProtocol

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

    Data of SessionDescription

    mode

    The mode used

    secretKey

    The secret key used for encryption

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

    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.

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

    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

  23. type SpeakingFlag = Long with Tagged[SpeakingFlag.type]
  24. implicit final class SpeakingFlagSyntax extends AnyVal
  25. case class UnknownVoiceMessage(op: VoiceOpCode) extends VoiceMessage[NotUsed] with Product with Serializable

    Message for unknown voice opcode

  26. sealed trait VoiceMessage[D] extends AnyRef

    Messages sent to the voice websocket.

  27. sealed abstract class VoiceOpCode extends IntEnumEntry

    Voice opcode used by voice websocket

Value Members

  1. object AudioAPIMessage
  2. object IPDiscoveryFlow
  3. case object IgnoreClientDisconnect extends VoiceMessage[NotUsed] with Product with Serializable

    Message for OpCode 13, should be ignored

  4. object NaclBidiFlow
  5. object RTPHeader extends Serializable
  6. case object Resumed extends VoiceMessage[NotUsed] with Product with Serializable

    Send by Discord when we successfully resume a connection

  7. object SelectProtocol extends Serializable
  8. object Speaking extends Serializable
  9. object SpeakingFlag
  10. object VoiceHandler
  11. object VoiceOpCode extends IntEnum[VoiceOpCode] with IntCirceEnumWithUnknown[VoiceOpCode]
  12. object VoiceUDPFlow
  13. object VoiceUDPHandler
  14. object VoiceWsHandler
  15. object VoiceWsProtocol extends DiscordProtocol
  16. object WsHeart

Inherited from AnyRef

Inherited from Any

Ungrouped