diff --git a/voice/src/main/java/discord4j/voice/DefaultVoiceGatewayClient.java b/voice/src/main/java/discord4j/voice/DefaultVoiceGatewayClient.java index 4be45951f..427f468a8 100644 --- a/voice/src/main/java/discord4j/voice/DefaultVoiceGatewayClient.java +++ b/voice/src/main/java/discord4j/voice/DefaultVoiceGatewayClient.java @@ -190,7 +190,7 @@ private Mono connect(VoiceServerOptions vso, String sessionId, if (payload instanceof Hello) { stateChanges.next(VoiceConnection.State.CONNECTING); Hello hello = (Hello) payload; - Duration interval = Duration.ofMillis(hello.getData().heartbeatInterval); + Duration interval = Duration.ofMillis(hello.getData().getHeartbeatInterval()); heartbeat.start(interval, interval); log.info(format(context, "Identifying")); outboundSink.next(new Identify(guildId.asString(), selfId.asString(), session.get(), @@ -198,11 +198,11 @@ private Mono connect(VoiceServerOptions vso, String sessionId, } else if (payload instanceof Ready) { log.info(format(context, "Waiting for session description")); Ready ready = (Ready) payload; - ssrc = ready.getData().ssrc; + ssrc = ready.getData().getSsrc(); cleanup.update(innerCleanup); innerCleanup.add(Mono.defer(() -> - voiceSocket.setup(ready.getData().ip, ready.getData().port)) - .zipWith(voiceSocket.performIpDiscovery(ready.getData().ssrc)) + voiceSocket.setup(ready.getData().getIp(), ready.getData().getPort())) + .zipWith(voiceSocket.performIpDiscovery(ready.getData().getSsrc())) .timeout(ipDiscoveryTimeout) .retryWhen(ipDiscoveryRetrySpec) .subscriberContext(context) @@ -226,7 +226,7 @@ private Mono connect(VoiceServerOptions vso, String sessionId, stateChanges.next(VoiceConnection.State.CONNECTED); reconnectContext.reset(); SessionDescription sessionDescription = (SessionDescription) payload; - byte[] secretKey = sessionDescription.getData().secretKey; + byte[] secretKey = sessionDescription.getData().getSecretKey(); TweetNaclFast.SecretBox boxer = new TweetNaclFast.SecretBox(secretKey); PacketTransformer transformer = new PacketTransformer(ssrc, boxer); Consumer speakingSender = speaking -> diff --git a/voice/src/main/java/discord4j/voice/json/Hello.java b/voice/src/main/java/discord4j/voice/json/Hello.java index a3b88295c..a69663792 100644 --- a/voice/src/main/java/discord4j/voice/json/Hello.java +++ b/voice/src/main/java/discord4j/voice/json/Hello.java @@ -30,10 +30,14 @@ public Hello(Data data) { public static class Data { - public long heartbeatInterval; + private final long heartbeatInterval; public Data(long heartbeatInterval) { this.heartbeatInterval = heartbeatInterval; } + + public long getHeartbeatInterval() { + return heartbeatInterval; + } } } diff --git a/voice/src/main/java/discord4j/voice/json/Identify.java b/voice/src/main/java/discord4j/voice/json/Identify.java index 67d643690..29787b3c0 100644 --- a/voice/src/main/java/discord4j/voice/json/Identify.java +++ b/voice/src/main/java/discord4j/voice/json/Identify.java @@ -32,13 +32,10 @@ public Identify(Data data) { public static class Data { - @JsonProperty("server_id") - public String serverId; - @JsonProperty("user_id") - public String userId; - @JsonProperty("session_id") - public String sessionId; - public String token; + private final String serverId; + private final String userId; + private final String sessionId; + private final String token; public Data(String serverId, String userId, String sessionId, String token) { this.serverId = serverId; @@ -46,5 +43,24 @@ public Data(String serverId, String userId, String sessionId, String token) { this.sessionId = sessionId; this.token = token; } + + @JsonProperty("server_id") + public String getServerId() { + return serverId; + } + + @JsonProperty("user_id") + public String getUserId() { + return userId; + } + + @JsonProperty("session_id") + public String getSessionId() { + return sessionId; + } + + public String getToken() { + return token; + } } } diff --git a/voice/src/main/java/discord4j/voice/json/Ready.java b/voice/src/main/java/discord4j/voice/json/Ready.java index 7da2b1722..979946528 100644 --- a/voice/src/main/java/discord4j/voice/json/Ready.java +++ b/voice/src/main/java/discord4j/voice/json/Ready.java @@ -30,14 +30,26 @@ public Ready(Data data) { public static class Data { - public int ssrc; - public String ip; - public int port; + private final int ssrc; + private final String ip; + private final int port; public Data(int ssrc, String ip, int port) { this.ssrc = ssrc; this.ip = ip; this.port = port; } + + public int getSsrc() { + return ssrc; + } + + public String getIp() { + return ip; + } + + public int getPort() { + return port; + } } } diff --git a/voice/src/main/java/discord4j/voice/json/Resume.java b/voice/src/main/java/discord4j/voice/json/Resume.java index aef0c1642..4e195f0a6 100644 --- a/voice/src/main/java/discord4j/voice/json/Resume.java +++ b/voice/src/main/java/discord4j/voice/json/Resume.java @@ -32,16 +32,28 @@ public Resume(Data data) { public static class Data { - @JsonProperty("server_id") - public String serverId; - @JsonProperty("session_id") - public String sessionId; - public String token; + private final String serverId; + private final String sessionId; + private final String token; public Data(String serverId, String sessionId, String token) { this.serverId = serverId; this.sessionId = sessionId; this.token = token; } + + @JsonProperty("server_id") + public String getServerId() { + return serverId; + } + + @JsonProperty("session_id") + public String getSessionId() { + return sessionId; + } + + public String getToken() { + return token; + } } } diff --git a/voice/src/main/java/discord4j/voice/json/SelectProtocol.java b/voice/src/main/java/discord4j/voice/json/SelectProtocol.java index 7bb855488..8618b8df8 100644 --- a/voice/src/main/java/discord4j/voice/json/SelectProtocol.java +++ b/voice/src/main/java/discord4j/voice/json/SelectProtocol.java @@ -30,25 +30,45 @@ public SelectProtocol(Data data) { public static class Data { - public String protocol; - public Inner data; + private final String protocol; + private final Inner data; public Data(String protocol, Inner data) { this.protocol = protocol; this.data = data; } + public String getProtocol() { + return protocol; + } + + public Inner getData() { + return data; + } + public static class Inner { - public String address; - public int port; - public String mode; + private final String address; + private final int port; + private final String mode; public Inner(String address, int port, String mode) { this.address = address; this.port = port; this.mode = mode; } + + public String getAddress() { + return address; + } + + public int getPort() { + return port; + } + + public String getMode() { + return mode; + } } } } diff --git a/voice/src/main/java/discord4j/voice/json/SentSpeaking.java b/voice/src/main/java/discord4j/voice/json/SentSpeaking.java index 00a1e8d08..b35e4a17a 100644 --- a/voice/src/main/java/discord4j/voice/json/SentSpeaking.java +++ b/voice/src/main/java/discord4j/voice/json/SentSpeaking.java @@ -16,6 +16,8 @@ */ package discord4j.voice.json; +import com.fasterxml.jackson.annotation.JsonProperty; + public class SentSpeaking extends VoiceGatewayPayload { public SentSpeaking(boolean speaking, int delay, int ssrc) { @@ -24,14 +26,27 @@ public SentSpeaking(boolean speaking, int delay, int ssrc) { public static class Data { - public boolean speaking; - public int delay; - public int ssrc; + private final boolean speaking; + private final int delay; + private final int ssrc; public Data(boolean speaking, int delay, int ssrc) { this.speaking = speaking; this.delay = delay; this.ssrc = ssrc; } + + @JsonProperty("speaking") + public boolean isSpeaking() { + return speaking; + } + + public int getDelay() { + return delay; + } + + public int getSsrc() { + return ssrc; + } } } diff --git a/voice/src/main/java/discord4j/voice/json/SessionDescription.java b/voice/src/main/java/discord4j/voice/json/SessionDescription.java index 068d810c1..cca51cac7 100644 --- a/voice/src/main/java/discord4j/voice/json/SessionDescription.java +++ b/voice/src/main/java/discord4j/voice/json/SessionDescription.java @@ -30,12 +30,20 @@ public SessionDescription(String mode, byte[] secretKey) { public static class Data { - public String mode; - public byte[] secretKey; + private final String mode; + private final byte[] secretKey; public Data(String mode, byte[] secretKey) { this.mode = mode; this.secretKey = secretKey; } + + public String getMode() { + return mode; + } + + public byte[] getSecretKey() { + return secretKey; + } } } diff --git a/voice/src/main/java/discord4j/voice/json/Speaking.java b/voice/src/main/java/discord4j/voice/json/Speaking.java index 43bb5f58e..22e22f4ad 100644 --- a/voice/src/main/java/discord4j/voice/json/Speaking.java +++ b/voice/src/main/java/discord4j/voice/json/Speaking.java @@ -30,14 +30,26 @@ public Speaking(Data data) { public static class Data { - public final String userId; - public final int ssrc; - public final boolean speaking; + private final String userId; + private final int ssrc; + private final boolean speaking; Data(String userId, int ssrc, boolean speaking) { this.userId = userId; this.ssrc = ssrc; this.speaking = speaking; } + + public String getUserId() { + return userId; + } + + public int getSsrc() { + return ssrc; + } + + public boolean isSpeaking() { + return speaking; + } } } diff --git a/voice/src/main/java/discord4j/voice/json/VoiceDisconnect.java b/voice/src/main/java/discord4j/voice/json/VoiceDisconnect.java index 16b3a10cd..457d1069b 100644 --- a/voice/src/main/java/discord4j/voice/json/VoiceDisconnect.java +++ b/voice/src/main/java/discord4j/voice/json/VoiceDisconnect.java @@ -30,10 +30,14 @@ public VoiceDisconnect(Data data) { public static class Data { - public final String userId; + private final String userId; public Data(String userId) { this.userId = userId; } + + public String getUserId() { + return userId; + } } }